bean和IOC
spring容器的最基本的接口就是BeanFactory,负责配置 创建 管理bean.
bean是spring中对象实体,bean交给spring管理,这是spring的IOC功能,管理bean的生命周期
**生命周期**就是bean从创建到销毁这段步骤
bean本身不感知容器, 不实现aware接口的bean对象与容器解耦合,这样不仅可以使用spring容器,也可以使用googleGuice容器
以下实现了spring aware接口的一些实现接口
BeanNameAware
beanFactoryAware等
BeanClassloaderAware
PS:测试须知,目标Bean只需要实现接口,bean启动装配的时候,会自动调用目标set属性方法.
本地测试代码20190713 com.bat.bean
有几点需要注意
1.实例化Bean的方法有几种
1.用创建的容器Getbean注入
2.@autoWrid/@resource实现自动注入
区别是Autowired可以注解在setter/引用类型的属性/构造方法,而Resource只能注解在属性上
**注意**
如果被注解在构造上,即使没有Bean的配置,也会调用构造方法
注解在属性上就不用set方法了
注解在set上会使用ByType寻找Bean
首先ByName寻找Bean,找不到ByType,类型太多,必须使用@Qualifier("bean_id")
4.创建容器有几种方式
ApplicationContext
2.如何理解bean的生命周期
3.懒加载:@Lazy可以注解在bean属性或者类上