无法解决@Value(Spring 4)

时间:2015-07-27 09:45:17

标签: spring

我正在尝试为不同的配置文件加载不同的属性文件。 我正在运行Tomcat 8.0,并使用Spring 4.1.4。 在xml中我已经定义了我的活动配置文件:

<context-param>
    <param-name>spring.profiles.active</param-name>
    <param-value>dev</param-value>
</context-param>

在我的spring配置xml中,我定义了以下配置文件:

<beans profile="dev, default">
    <bean class="org.springframework.context.support.PropertySourcesPlaceholderConfigurer">
        <property name="locations">
            <list>
                <value>classpath:db_dev.properties</value>
            </list>
        </property>
        <property name="ignoreUnresolvablePlaceholders" value="true"/>
    </bean>
</beans>

<beans profile="qual">
    <bean class="org.springframework.context.support.PropertySourcesPlaceholderConfigurer">
        <property name="locations">
            <list>
                <value>classpath:db_qual.properties</value>
            </list>
        </property>
        <property name="ignoreUnresolvablePlaceholders" value="true"/>
    </bean>
</beans>

在两个属性文件中,我都定义了以下键:

email.targetURL
email.from

不同配置文件的值不同。

在我的java类中,我有以下字段:

@Value("${email.targetURL}")
String targetURL;
@Value("${email.from}")
String from;

当我运行应用程序时,值未解析,它只打印出一个字符串,例如&#34; $ {email.from}&#34;。 Class是一个Spring组件,还有其他自动处理的字段,可以处理好。

任何sugestions?

0 个答案:

没有答案