当我使用经典代码Object object = new Object()
实例化对象时,有没有办法注入所有依赖项和子依赖项?
从下面的代码中可以看出,A类自动装配B类,B类自动装配C类。
当我以这种方式实例化A类A a = new A();
当然A类没有它的依赖关系B,而B也没有它等等。
遵循这个example我能够加载A的依赖关系(所以B加载到A中),但不是B的相对依赖关系。
有办法吗?
谢谢
public class Start{
public void start(){
A a = new A();
}
}
public class A{
@Autowired B b;
}
public class B{
@Autowired C c;
}
public class C{
}
答案 0 :(得分:1)
Spring引擎是否创建了一个对象,并将创建的实例放在一个用@Autowired
注释的字段中。
如果对象不在弹簧引擎的控制之下,则不会立即显示@Autowired
字段。
因此,如果使用new
显式创建容器对象,则无法正确初始化字段(因此,如果它不在spring引擎的控制之下)。