假设我们有一个课程:public class MyClass { @Autowired private AnotherBean anotherBean;}然后,我们创建了此类的一个对象(或其他一些框架创建了此类的实例)。MyClass obj = new MyClass();是否仍然可以注入依赖项?就像是:applicationContext.injectDependencies(obj);(我认为Google Guice有这样的内容)
3 回答
萧十郎
TA贡献1815条经验 获得超13个赞
您可以使用的autowireBean()方法执行此操作AutowireCapableBeanFactory。您将其传递给一个任意对象,Spring将把它当作它自己创建的对象对待,并将应用各种自动装配的点点滴滴。
要掌握AutowireCapableBeanFactory,只需自动连线即可:
private @Autowired AutowireCapableBeanFactory beanFactory;
public void doStuff() {
MyBean obj = new MyBean();
beanFactory.autowireBean(obj);
// obj will now have its dependencies autowired.
}
ibeautiful
TA贡献1993条经验 获得超5个赞
您还可以使用@Configurable批注标记MyClass:
@Configurable
public class MyClass {
@Autowired private AnotherClass instance
}
然后在创建时它将自动注入其依赖项。您还应该<context:spring-configured/>在应用程序上下文中具有xml。
添加回答
举报
0/150
提交
取消