具有spring值注释的占位符

时间:2015-01-26 09:08:05

标签: java spring

我想使用带有弹簧值注释的占位符,我无法找到一些示例。有人可以指出我与示例的链接。 e.g。

属性文件

service.scheduled=You have successfully scheduled service {0}.

Java Spring代码:

@Value("${service.scheduled}")
private String scheduleNotification

我希望在属性占位符“{0}”中进行动态占位符替换。我没有读取属性文件的问题。我不知道,这可能与这个spring值注释注入实现有关。

1 个答案:

答案 0 :(得分:0)

您应该在root-context.xml中配置属性文件(或者调用任何Spring配置)。

为属性定义Spring Bean

这定义了一个bean,您可以使用@Value注释从中读取属性值(您不必引用bean的名称,您可以正常使用该属性):

<bean id="DBProperties" class="org.springframework.beans.factory.config.PropertiesFactoryBean">
    <property name="locations">
        <list>
            <value>classpath*:database.properties</value>
        </list>
    </property>
</bean>

使用Spring Context

此外,如果您使用Spring Context,以下内容也应该有效:

<context:property-placeholder location="classpath:database.properties"/>

这是一个肯定更简单,但是在这种情况下AFAIK你不能使用Spring配置文件(FIXME)中的属性值。