-
依赖注入的实现方式
-
阻止依赖注入的方法
-
bean的初始化工作
在 上一篇文章中我们探究完了bean是如何被实例化出来的,实例完的bean还不能被使用,我们可以理解为只是被new出来了一个对象,然后放到了spring的容器中管理起来了,但是这个bean上的很多字段还没有值,很多方法还没有被调用。
=========================================================================
populateBean
一个超级有名的一个方法,这个方法的全名是:org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory#populateBean
,就是在这个方法中实现了DI
(依赖注入)
首先,我们先看一段代码:
@Component
public class Bean2 {
@Autowired
private Bean1 bean1;
public void hello(){
System.out.println("hello i’m bean2 ");
bean1.hello();
}
}
从代码中我们可以看到,在Bean2中有个属性叫Bean1,通过@Autowired注解依赖进来,那么spring是如何依赖进来的呢?我们看下面的截图:
@Autowrited注解的依赖注入是由AutowiredAnnotation