我有一个通过调用构造函数实例化的类(Class ABC)。ABC类又具有通过自动接线注入的辅助类(XYZ类)。
我们的是基于Spring MVC的应用程序,在服务器启动时我看不到任何异常。
但是我仍然看到XYZ类为空。是否是因为Spring Container没有实例化ABC类?
在这种情况下,如何使用自动接线?
谢谢。
你可以使用这种方式在非spring bean类中使用spring bean
public class ApplicationContextUtils implements ApplicationContextAware { private static ApplicationContext ctx; @Override public void setApplicationContext(ApplicationContext appContext) throws BeansException { ctx = appContext; } public static ApplicationContext getApplicationContext() { return ctx; } }
现在,你可以通过getApplicationContext()此方法获取applicationcontext对象。
从applicationcontext可以得到像这样的spring bean对象:
ApplicationContext appCtx = ApplicationContextUtils .getApplicationContext(); String strFromContext = (String) appCtx.getBean(beanName);