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

  • 相关阅读:
    添加linux alias
    vs2019 switch语句快捷键列出枚举 及常用快捷键
    generic 泛型使用
    华为云 安装centos8.2
    linux 安装redis,mysql,netcore
    react按需加载
    工具类注册基本写法
    vue项目使用深拷贝
    react+less+antd 复习搭建(一)
    python 1 cmd进入工作
  • 原文地址:https://www.cnblogs.com/wade-luffy/p/6073391.html
Copyright © 2011-2022 走看看