IoC:Inversion of Control
控制反转,控制的是java对象的创建与销毁,反转指的是对象控制权被反转了,将对象的控制权交给了IoC
类里面使用的其他对象,不由类来创建,由IoC来创建
三个约定:
1.所有Bean的生命周期交由IoC容器管理
2.所有被依赖的Bean通过构造方法执行注入
3.被依赖的Bean需要优先创建
注入方式
构造器注入、setter方法注入、根据注解注入。
DI(Dependency Injection)
依赖注入是指组件之间的依赖关系是在容器运行期间决定的,在需要用到某个依赖对象的时候,由Spring容器动态注入到组件之中,不需要关注资源来自于何处,由谁实现。
Bean
在Spring中,所有被IOC管理的对象都成为bean,是由Spring IoC容器实例化,组装和管理的对象
beanFactory
基础类型IoC容器,提供IoC服务支持
包含bean的定义,读取bean的配置文档,管理bean的加载、实例化,控制bean的生命周期
ApplicationContext
BeanFactory的子接口,高级IoC容器的实现,提供了除了上述之外更高级的功能:事件发布,国际化信息支持,统一资源加载策略
FactoryBean
是一个工厂bean,如果一个类实现该接口,可以实现他的getObject方法来创建实例