Bean的管理,spring的国际化

本文介绍如何利用Spring框架实现应用程序的国际化功能,通过配置ResourceBundleMessageSource及不同语言环境的属性文件,实现动态切换语言显示的功能。

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

  
可以通过如下三种方式:
beanWapper
beanFactory
applicationContext
说明:
beanWapper已经不推荐使用了
beanFactory提供一种先进的管理机制来管理bean
applicationContext新增了许多的新的功能,如果国际化,获取资源,事件的传递
这里我以国际为例:
建两个properties文件用于国际化.
Yuki_en_US.proerties代码如下:
welcome.label=welcome {0} :time {1}
Yuki_zh_CN.proerties代码如下:
welcome.label=欢迎你 {0} :时间 {1}
applicationContext.xml配置如下:
    <bean id="messageSource" class="org.springframework.context.support.ResourceBundleMessageSource"           abstract="false" singleton="true" lazy-init="default"
            autowire="default" dependency-check="default">
            <property name="basename">
                <value>yuki</value>
            </property>
</bean>
这里需要注意两点:第一,id的名字必须是messageSource.属性basename的值为properties文件的前缀.
package test.lyx;
import java.util.Date;
import java.util.Locale;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.FileSystemXmlApplicationContext;
publicclass TestMain {
    publicstaticvoid main(String[] args) {
        ApplicationContext context=new FileSystemXmlApplicationContext("test/lyx/applicationContext.xml");
            Object[] obj=newObject[]{"lyx",new Date()};
            System.out.println(context.getMessage("welcome.label",obj, Locale.CHINA));
            System.out.println(context.getMessage("welcome.label",obj, Locale.US));
    }
}
运行结果会在控制台上打出:
欢迎你 lyx :时间 07-1-18 上午10:38
welcome lyx :time 1/18/07 10:38 AM
注意:Yuki_zh_CN.proerties文件.必须通过,native2asciiUTF-8才好用.转换后如下:
welcome.label=/u6b22/u8fce/u4f60 {0} :/u65f6/u95f4 {1} 
上面我是用了国际的插件,会自动转换.所以eclipse中是看不到转换的结果的.但项目下的
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值