Spring-ApplicationContextInitializer实现内部自动连接
我有一个ApplicationContextInitializer,用于初始化某些应用程序属性。我试图将spring的ResourceLoader和restclient自动连接到其中,但无法。是否可以在ApplicationContextInitializer实现中自动连线Spring-ApplicationContextInitializer实现内部自动连接,spring,spring-mvc,autowired,Spring,Spring Mvc,Autowired,我有一个ApplicationContextInitializer,用于初始化某些应用程序属性。我试图将spring的ResourceLoader和restclient自动连接到其中,但无法。是否可以在ApplicationContextInitializer实现中自动连线 @Component public class MyApplicationContextInitializer implements ApplicationContextInitialize
@Component
public class MyApplicationContextInitializer implements
ApplicationContextInitializer<ConfigurableApplicationContext> {
@Autowired
private ResourceLoader resourceLoader;
@Autowired
private MyRestClient restClient;
// some init methods
}
@组件
公共类MyApplicationContextInitializer实现
ApplicationContextInitializer{
@自动连线
私有资源加载器;
@自动连线
私人MyRestClient;
//一些init方法
}
My autowired.xml:
<?xml version="1.0" encoding="UTF-8"?>
<beans
xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.2.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.2.xsd"
default-lazy-init="true">
<context:property-placeholder/>
<context:annotation-config />
<context:component-scan base-package="com.package.containing.classes" />
</beans>
最近我遇到了同样的陷阱。我试图在一个不起作用的ApplicationContextInitializer
中自动关联一个属性。
症状是,我的应用程序在启动时只将标题打印到控制台,然后悄悄退出。原因是由于我的属性为null,因此在initialize
方法中引发了NullPointerException
。在我的例子中,NPE是一个特定于代码的问题,它表明Spring没有处理@Autowire
注释,因为如果是这样,Spring应该在初始化中失败,因为缺少与我的属性匹配的bean定义,而不是注入null
简而言之:Spring不执行到
ApplicationContextInitializer
的自动连接最近我遇到了同样的陷阱。我试图在一个不起作用的ApplicationContextInitializer
中自动关联一个属性。
症状是,我的应用程序在启动时只将标题打印到控制台,然后悄悄退出。原因是由于我的属性为null,因此在initialize
方法中引发了NullPointerException
。在我的例子中,NPE是一个特定于代码的问题,它表明Spring没有处理@Autowire
注释,因为如果是这样,Spring应该在初始化中失败,因为缺少与我的属性匹配的bean定义,而不是注入null
简言之:Spring不执行到
ApplicationContextInitializer
的自动连接。请添加更多详细信息,如开始和上下文类的错误。请添加更多详细信息,例如,在处理autowire之前,您在开始时遇到的错误以及您的上下文类ApplicationContextInitializer
在生命周期中太早。您最终做了什么?ApplicationContextInitializer
在生命周期中太早,在处理autowire之前。你最后做了什么?