ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

关于spring常问面试题

2022-01-20 12:33:40  阅读:133  来源: 互联网

标签:面试题 常问 BeanFactory spring 编程 Bean Spring AOP IOC


1. 说说你对spring的理解

    Spring有两大特性:控制反转IOC 和 面向切面编程AOP,解决了传统代码的高耦合性与代码不可复用的问题,能很方便的整合各种开源框架,是一个非侵入式的,高效的开源框架。
    
    IOC:控制反转,将创建对象的权利交给Spring,由Spring帮我们管理Bean。在面向对象的编程过程中,要想使用某个对象,就需要先实例化这个对象,需要我们用new XXX(),若该对象不存在就会报错。而在Spring中,我们不需要显式的去new,解决了代码的高耦合性。

    AOP:面向切面编程,它是一种思想,是横向的。OOP:面向对象编程,是纵向的。先说说纵向的编程思想,举例:在JAVA中,有一个类A有一个方法,类B也想使用,那么怎么解决呢,就需要类B去继承类A,如果类C也想使用,那么需要去继承类A或类B。而横向编程的思想就是:将类A的公共方法提取出来,哪些类需要,就横切穿插进去,这就是AOP面向切面的横向编程思想,解决了代码的不可复用性。

2. 说说Spring的核心容器

    Spring的主要功能是通过其核心容器来实现的。Spring提供了两种核心容器,分别为BeanFactory与ApplicationContext。

    BeanFactory:是基础类型的IOC容器,提供了完整的IOC服务支持。简单来说,就是一个管理Bean的工厂,主要负责初始化各种Bean,并调用他们的生命周期方法。
                采用延迟加载策略来初始化Bean,即在真正用到Bean(调用getBean())的时候才去实例化Bean,减小了服务器的压力,但是若Bean的某一属性并没有注入成功或Bean配置错误等,那么真正用到这个Bean时才报错,这不便于我们及时发现错误。

    ApplicationContext:是BeanFactory的子接口,也被称为应用上下文。它不仅包含了BeanFactory的所有功能,还添加了对国际化,资源访问,事件传播等方面的支持。
                在项目初始化启动的时候,就去实例化所有Bean,相当于一来就来了次自检,这样便于我们及时发现错误。

标签:面试题,常问,BeanFactory,spring,编程,Bean,Spring,AOP,IOC
来源: https://www.cnblogs.com/itlihao/p/15825885.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有