@Value占位符不解析某些spring bean中的值

时间:2013-03-28 06:46:59

标签: java web-services spring dependency-injection spring-annotations

我有一种情况,我试图找出原因。场景是我有一个A类,它实现了webservice公开的操作。对于每个操作请求,都会创建一个新的A实例。整个内容由Spring内部管理,我不确定Web服务实例化的A类究竟是什么。

现在我有一个类变量,其值我想在运行时通过

注入

@Value( “$ {someValue中}”) String someVariable

someValue定义为系统属性。但是每个创建的bean都有一些变量为NULL。

我在同一个包中使用@Configuration注释的另一个类中尝试了相同的操作,它正在解析变量。

所以,我想是否通过@Value注入的能力取决于创建bean的方式,如@ Component,@ Configuration- @ Bean,XML definiti

1 个答案:

答案 0 :(得分:0)

不是真的。实际上,您可以在组件扫描bean和xml定义bean中使用@Value注入值。但要注意这一点,这取决于你将Placeholder放入哪个xml文件,它只是在每个容器中的valid。例如,你把它放在applicationContext中,然后在xxx-servlet.xml中创建的bean不能用@Value注入值。