spring入门--applicationContext的国际化支持和让bean获取spring容器

19人阅读 评论(0) 收藏 举报
分类:

ApplicationContext接口继承MessageSource接口,因此具备国际化功能。下面是MessageSource接口定义的三个国际化方法。

  》String getMessage(String code, Object[] args, Locale loc)

  》String getMessage(String code, Object[] args, String default, Locale loc)

  》String getMessage(MessageSourceResolvable resolvable, Locale locale)
当程序创建ApplicationContext容器时,Spring自动查找在配置文件中名为 messageSource 的 Bean 实例,一旦找到这个Bean实例,上诉3个方法的调用被委托给该MessageSource Bean。一般会将massageSource配置为org.springframework.context.support.ResourceBundleMessageSource类,所以需要在配置文件中加上这段

<bean id="messageSource"
    class="org.springframework.context.support.ResourceBundleMessageSource">
        <property name="basenames">
            <list>
                <value>message</value>
                <!--如果有多个资源文件,全部列在此处-->
            </list>
        </property>
    </bean>

配置属性的value为massage,那么你的资源文件应该命名为message_en_US.properties或message_zh_CN.properties
第一个是美式文件的格式,第二个为简体中文的格式。
如果资源文件中含有非西欧文字,应该用native2ascii工具(windows下是这个)转化一下,不然会出错。
这里写图片描述
下面为主程序

package bean;


import java.util.Locale;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class springtest {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        ApplicationContext context=new ClassPathXmlApplicationContext("bean.xml");
        String hello=context.getMessage("hello", new String[] {"孙悟空"},Locale.getDefault(Locale.Category.FORMAT));
        System.out.println(hello);


}

输出结果

这里写图片描述

查看评论

Spring ApplicationContext的国际化支持

ApplicationContext接口继承MessageSource接口,因此具备国际化功能。下面是MessageSource接口定义的三个国际化方法。   》String getMessag...
  • caomiao2006
  • caomiao2006
  • 2016-07-10 17:33:05
  • 1494

spring-aware接口实现与bean作用域(spring多容器层面)

  • 2016年08月08日 14:20
  • 17KB
  • 下载

一,Spring容器BeanFactory和ApplicationContext对比

BeanFactory和ApplicationContext对比BeanFactory和ApplicationContext联系BeanFactory和ApplicationContext是Sprin...
  • u010871004
  • u010871004
  • 2016-12-12 22:06:38
  • 2492

主动获取spring容器工具类SpringContextUtil

/** * 获取spring容器,以访问容器中定义的其他bean */ @Component public class SpringContextUtil implements Applicati...
  • zhiyi321
  • zhiyi321
  • 2016-06-13 17:55:03
  • 5527

Spring--IoC--从applicationContext容器中获取对象

配置文件applicationContext.xml: 获取对象:
  • sinat_27115575
  • sinat_27115575
  • 2017-04-17 17:39:29
  • 740

Java获取Tomcat启动中的spring管理的容器注入的实体,用来获取相应的bean

Java获取Tomcat启动中的spring管理的容器,用来获取相应的bean:具体方法如下 1.创建一个类并让其实现org.springframework.context.Applicatio...
  • itxiaohei323
  • itxiaohei323
  • 2016-04-12 18:36:45
  • 1827

Springboot中随时获取ApplicationContext,得到想要的bean

在springBoot启动类的main方法中写成 /** * 启动嵌入式的Tomcat并初始化Spring环境 */ public static void main(Str...
  • chenyidong521
  • chenyidong521
  • 2017-09-30 14:29:57
  • 2299

Spring上下文ApplicationContext初始化Bean和事件

ApplicationContext初始化方式系统创建ApplicationContext容器时,默认就会初始化所有的Bean,注意这里默认初始化得到的Bean都是单例。在一开始就全部加载Bean开销...
  • sweatOtt
  • sweatOtt
  • 2017-03-19 20:13:42
  • 788

在Servlet Filter中使用Spring容器

定义一个filter, 实现ApplicationContextAware接口:public class CacheFilter implements Filter, ApplicationConte...
  • tracker_w
  • tracker_w
  • 2015-06-14 22:46:29
  • 1645

spring容器启动就获得实现指定接口的beanMap

package cn.baozun.crm.listener; import java.util.HashMap; import java.util.Map; import java.u...
  • mid120
  • mid120
  • 2016-12-26 19:33:26
  • 634
    个人资料
    等级:
    访问量: 4889
    积分: 262
    排名: 29万+
    文章分类
    最新评论