Spring 3.0.5不会从属性中评估@Value注释

Ale*_*ula 29 spring frameworks properties autowired

尝试在Spring 3.0.5.RELEASE中将属性自动连接到bean ,我正在使用:

因此,用户名被设置为字面意思 "${username}",因此表达式不会被解析.我对此类的其他自动连接依赖项进行了设置,Spring不会抛出任何异常.我也尝试添加,@Autowired但它没有帮助.

如果我将属性解析为单独的bean然后使用@Autowired+ @Qualifier,它可以工作:

<bean id="username" class="java.lang.String">
    <constructor-arg value="${username}"/>
</bean>
Run Code Online (Sandbox Code Playgroud)

任何想法如何使用只是@Value?也许我需要包含一些我没有的Spring依赖项?谢谢

Ale*_*ula 20

找到问题所在.复制/粘贴评论:

您确定您<context:property-placeholder>在与MyClass bean相同的应用程序上下文中(不在父上下文中)吗? - axtavt

你是对的.我<context:property-placeholder>从定义的上下文移动ContextLoaderListener到servlet上下文.现在我的值被解析了.非常感谢! - 亚历克斯