内容
<aside>
👉🏼 实例化之后->属性设置
AbstractAutowireCapableBeanFactory#populateBean
AutowiredAnnotationBeanPostProcessor
</aside>
依赖注入底层原理流程图
首先分两种:
在XML中定义Bean时,就是手动注入,因为是程序员手动给某个属性指定了值。
<bean name="userService" class="com.luban.service.UserService">
<property name="orderService" ref="orderService"/>
</bean>
上面这种底层是通过set方法进行注入。
<bean name="userService" class="com.luban.service.UserService">
<constructor-arg index="0" ref="orderService"/>
</bean>
上面这种底层是通过构造方法进行注入。
所以手动注入的底层也就是分为两种:
自动注入又分为两种: