zoukankan      html  css  js  c++  java
  • Spring的国际化资源messageSource

    Spring中可以使用两个类加载资源文件:ReloadableResourceBundleMessageSource和ResourceBundleMessageSource。

    可配置如下messageSource这个bean id不能变:

        @Bean
        public MessageSource messageSource() {
            ReloadableResourceBundleMessageSource messageSource = new ReloadableResourceBundleMessageSource();
            messageSource.setBasename("classpath:messages");
            messageSource.setCacheSeconds(10); //reload messages every 10 seconds
            messageSource.setDefaultEncoding("UTF-8");
            messageSource.setUseCodeAsDefaultMessage(true);
            return messageSource;
        }

    或者xml

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

    Spring提供了一个接口MessageSource用于获取国际化信息,ReloadableResourceBundleMessageSource和ResourceBundleMessageSource都是继承了该接口的一个抽象实现类AbstractMessageSource,继承该抽象类的有四个类,分别是:

    StaticMessageSource  主要用于测试环境,并不用于生产环境
    SpringSecurityMessageSource  用于Spring security的国际化信息
    ReloadableResourceBundleMessageSource  可以在不用重新启动服务器的情况下,读取更改后的资源文件
    ResourceBundleMessageSource  用于生产环境

    用法示例:

    public class MessageSourceTest extends TestCase {
        public void testResourceBundleMessageSource(){
            MessageSource messageSource=new ClassPathXmlApplicationContext("applicationcontext.xml");
            String username_us=messageSource.getMessage("userName_lable",new Object[1],Locale.US);
            String username_chinese=messageSource.getMessage("userName_lable",new Object[0],Locale.CHINESE);
            System.out.println("chinese:"+username_chinese);
            System.out.println("english:"+username_us);
        }
    }

    chinese:用户名
    english:userName

  • 相关阅读:
    selenium浏览器参数设置详解——转
    py打包工具
    BurpSuite暴力破解和防御实战
    费马小定理(确定n 是否为素数)
    如何实现一个RPC框架1 —— RPC简介和通信协议的定义
    如何实现一个RPC框架2 ——用Netty实现协议通信
    15.三数之和
    flex开发零碎笔记,随时补充
    转“国内图片网站Yupoo的架构”
    转“经验分享:大型高并发高负载网站的系统架构 ”
  • 原文地址:https://www.cnblogs.com/wade-luffy/p/6073391.html
Copyright © 2011-2022 走看看