第一篇博客 记录自己对spring bean的理解

233 阅读1分钟

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属性或者类上