1.请简述spring框架的优点
-
非侵入式设计
-
方便解耦与简化开发-对象的创建以及依赖关系的维护工作都交给spring容器处理,大大降低了组件之间的耦合性
-
Aop-它允许将一些通用任务,如安全,日志,事务等进行集中式管理,从而提高了程序的复用性。
-
支持声明式事务管理-只需要通过配置就能完成对事务的管理,而无需手动编程
-
方便程序的测试-Spring提供了对Junit4的支持,可以通过注解方便的测试Spring程序
-
方便集成各种优秀框架
-
降低java EE API的使用难度-对Java EE中非常难用的一些API(如JDBC、JavaMail)进行了封装,使这些API的应用难度大大降低。
2.请简述什么是IOC和DI
IOC:在使用Spring框架之后,对象的实例不再由调用者来创建,而是由Spring容器来创建,Spring容器会负责控制程序之间的关系,而不是由调用者的程序代码直接控制。这样,控制权由应用代码转移到了Spring容器,控制权发生了反转,这就是控制反转。
DI:从Spring容器的角度来看,Spring容器负责将被依赖对象赋值给调用者的成员变量,这相当于为调用者注入了它依赖的实例,这就是Spring的依赖注入。
3.Bean的实例化有哪几种方式
- 构造器实例化
- 静态工厂实例化
- 构造器实例化
4.Bean的作用域是什么
5.Bean有几种装配方式
Bean的装配可以理解为依赖注入,Bean的装配方式就是依赖注入的方式,通常有:
- 基于xml装配
- 基于注解装配
- 自动装配