Spring学习-Spring中对资源文件的封装

本文介绍如何在Spring框架中配置多语言支持。通过定义资源文件并使用ResourceBundleMessageSource或ReloadableResourceBundleMessageSource来实现动态加载多语言信息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在开发过程中,对不同国家语言的支持,一般采用独立的资源文件(如一个properties文件)完成所有语言信息的配置,在SPRING中对这种方式进行了封装,首先定义好资源文件,如上:
tavorResource.properties
guestName=tavor
greeting=nice to meet you,
那么在SPRING中,在applicationContext.xml(SPRING的配置文件中),先声明一个Bean,其类型为
ResourceBundleMessageSource或者ReloadableResourceBundleMessageSource(此类提供了无需重启服务器即可加载信息的特性)
而且些bean的名称必须为messageSource,且其必包含一个名为basenames的property,且此Property包含一个LIST的子元素,其中的VALUE均为相应的资源文件名(不带LOCALE的)
<bean id="messageSource"
  class="org.springframework.context.support.ResourceBundleMessageSource">
  <property name="basenames">
   <list>
    <value>tavorResource</value>
    <value>hehemess</value>
   </list>
  </property>
</bean>
比如我们的定义如上,
那么在我们的代码中就可以通过ApplicationContext的getMessage()获取相应的属性值了。
String greeting = ctx.getMessage("greeting", null, Locale.getDefault());
String guestName = ctx.getMessage("guestName", null, Locale.getDefault());
System.out.println(greeting+guestName);
这样就会输出nice to meet you,tavor
getMessage的三个参数,第一个是属性名;第二个是参数,也就是说在属性文件中是可以放置参数的;第三个是本地化语言。
比如
greeting=nice to [{0}] you,[{1}]
那么我们调用的时候就可以用
String greeting = ctx.getMessage("greeting", new Object[]{"see","my friend"}, Locale.getDefault());

那么得到的greeting最后就是nice to see you,my friend 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值