我需要将静态属性注入我的一个侦听器类
首先我查了一下 Spring - Injecting a dependency into a ServletContextListener。但是它不适用于静态属性。 然后我混合了http://planproof-fool.blogspot.be/2010/03/spring-setting-static-fields.html仍然无法进行注射。
这是我的简短代码
public class MyListener implements ServletContextListener {
private static Logger logger = Logger.getLogger(MyListener.class);
private static ServletContext context = null;
@Autowired
private static Repository repository;
}
的applicationContext.xml
<import resource="classpath*:spring/modelContextDump.xml" />
<!-- Scan for @Autowired annotations -->
<context:annotation-config />
<bean id="propertiesUtil"
class="com.my.utils.PropertiesUtil">
<property name="locations">
<list>
<value>classpath:config.properties</value>
</list>
</property>
</bean>
和在modelContext文件中
<bean id="repository"
class="com.my.repository.RepositoryImpl"
parent="abstractRepository">
</bean>
从功能上讲,此侦听器类将永远运行(infinte-time)并访问存储库属性。
答案 0 :(得分:1)
根据http://planproof-fool.blogspot.be/2010/03/spring-setting-static-fields.html
的建议这不适合你吗?
private static Repository repository;
@Autowired(required = true)
private setStaticRepo(Repository localRepo ) {
repository = localRepo;
}