zoukankan      html  css  js  c++  java
  • 【sping揭秘】7、国际化信息支持

    Spring提供messagesource接口,来进行国际化事务处理

     

    Applicationcontext会优先找一个名为messageSouce的messageSource接口实现bean,如果找不到那么内部会默认实例化DelegatingMessageSource(书中表示是:StaticMessageSource)实例

    我们暗中观察一波源码,通过源码我们发现在spring5中其实默认实现的是DelegatingMessageSource对象:

     

    但是通常一般配置方式是自己配置一个名称为messageSource的bean对象,使用的是ResourceBundleMessageSource对象

    这里我们先手动使用一次

    1、 先修改配置文件,配置上对应的bean

    <!-- 国际化配置 -->
        <bean id="messageSource" class="org.springframework.context.support.ResourceBundleMessageSource">
        
            <property name="basenames">
                <list>
                    <value>i18/users</value>
                    <value>i18/errormsg</value>
                </list>
            </property>
        
        </bean>

    2、 新增对应的i18文件

     

     

    根据这个配置,写个demo测试一下

    package spring.messagesource;
    
    import java.util.Locale;
    
    import org.junit.Test;
    import org.springframework.context.MessageSource;
    import org.springframework.context.support.ClassPathXmlApplicationContext;
    
    /**
     * 测试spring的国际化
     * 
     * @author xiaof
     *
     */
    public class I18Demo {
    
        @Test
        public void test1() {
            MessageSource resources = new ClassPathXmlApplicationContext("classpath:applicationContext-bean.xml");
            String admin = resources.getMessage("user.admin", null, "Default", new Locale("us"));
            System.out.println(admin);
            String superadmin = resources.getMessage("user.superadmin", null, "Default", new Locale("us"));
            System.out.println(superadmin);
            String name = resources.getMessage("errormsg.name", null, "Default", new Locale("us"));
            System.out.println(name);
            String pwd = resources.getMessage("errormsg.pwd", null, "Default", new Locale("us"));
            System.out.println(pwd);
        }
    
    }

    测试结果:

     

  • 相关阅读:
    Dockerfile指令
    oracle--ORA-38760
    守护进程--Supervisor
    oracle--sqlplus格式化输出
    oracle--10.2.0.3升级到11.2.0.4
    oracle--ORA-27125
    oracle--10安装问题
    oracle--CKPT
    oracle--LGWR
    Oracle--SMON
  • 原文地址:https://www.cnblogs.com/cutter-point/p/8666962.html
Copyright © 2011-2022 走看看