使用Spring动态绑定属性文件中的值

时间:2014-05-26 12:05:21

标签: spring

在我的Web应用程序中,我有一个场景,比如我需要从属性文件中读取值,并且值必须在spring bean中动态更新。我创建了键值对,如下所示,

message1=Hi {0} welcome. Your last signed in was {1}

如何替换{0}和{1}的值。我在春天使用属性占位符配置器读取了值。

1 个答案:

答案 0 :(得分:0)

您必须使用MessageSource

执行此操作

在你的applicationContext中添加:

<bean id="messageSource" class="org.springframework.context.support.ResourceBundleMessageSource">
    <property name="basenames">
        <list>
            <value>messages</value>
        </list>
    </property>
</bean>

在你的javacode中你可以写:

ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
//...
String name = context.getMessage("message1", new Object[] { "user XY", "05.05.2010" }, Locale.US);

您甚至可以为不同的语言使用不同的message.properties文件:然后您必须命名这些文件:[filename] _ [languageCode](即messages_en_US.propertiesmessages_de_DE.properties)。并更改getMessage方法的第3个参数。