spring 容器启动 生命周期 自动装配

spring容器启动:
首先生成一个beanfactory,一个beandefinitionreader,一个pathscanner,然后主要生成两个对象,一个configurationClasspostprocessor和一个AutowiredAnnotationBeanPostProcessor,前者是一个beanfactory后置处理器,可以修改beanDefinition的内容,主要用来读取用import Configuration componentScan等注解标记的类,然后读取其中的bean,并循环读取。后者用来autowired自动装配。

然后开始refrush//生命周期
首先是实例化,简单来说就是调用无参构造申请内存地址,然后是属性注入,如果实现了aware接口,要调用这些函数,如果实现了beanPostProcessor接口,调用before,然后是init-method,接下来调用after方法,最后如果自定义了销毁方法,再运行销毁方法。

自动装配
@AutoConfigurationPackage
@importSelector

importSelector返回的是一个字符串组,每个字符串都是一个类,然后从spring.factories中找到这些字符串即可,返回之后找到这些类然后注册成beanDefinition,取的名字放在set里,然后以名字为key,beandefinition为value,放在map里面等待实例化。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值