如何在Spring中将依赖项注入到自实例对象中?

假设我们有一个课程:


public class MyClass {

    @Autowired private AnotherBean anotherBean;

}

然后,我们创建了此类的一个对象(或其他一些框架创建了此类的实例)。


MyClass obj = new MyClass();

是否仍然可以注入依赖项?就像是:


applicationContext.injectDependencies(obj);

(我认为Google Guice有这样的内容)


陪伴而非守候
浏览 912回答 3
3回答

萧十郎

您可以使用的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

您还可以使用@Configurable批注标记MyClass:@Configurablepublic class MyClass {&nbsp; &nbsp;@Autowired private AnotherClass instance}然后在创建时它将自动注入其依赖项。您还应该<context:spring-configured/>在应用程序上下文中具有xml。
打开App,查看更多内容
随时随地看视频慕课网APP