源码地址:https://github.com/spring-projects/spring-framework
仓库地址:https://gitcode.net/qq_42665745/spring/-/tree/15-proxy-set-property
给代理对象设置属性
之前的代码是创建Bean进行判断,要不要进行代理,如果代理了,就不能走属性注入;如果正常创建,就能走属性注入。
debug修改后的代码发现,之前是代理Bean对象和正常Bean对象 二选一,现在是必须先创建
正常Bean对象,然后属性注入等等初始化方法都执行一遍,初始化完成了,然后会进入初始化后置钩子,这里判断是否代理,如果是,就对这个Bean进行代理生成一个代理Bean
spring在bean生命周期做了好多钩子,供使用者扩展,分的很细,包括:
- 实例化前后钩子
- 初始化前后钩子