`
zhukang0725
  • 浏览: 15887 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

Spring中ApplicationContext对国际化的支持

阅读更多
我们说ApplicationContext是BeanFactory的超级,主要表现在,Application为我们提供了更多的功能,主要包括国际化支持,资源访问和事件传递等功能。下面我们对ApplicationContext的国际化的支持进行学习。
ApplicationContext继承了org.springframework.context.MessageResource接口,通过getMessage();方法能取得多种信息资源。下面是getMessage()的三个方法:
String getMessage(String code,Object[]args,String default,Local loc);
String getMessage(String code,Object[]args,Local loc);
String getMessage(MessageSourceResolvable,Local loc);
下面我们看一下一个例子:

   <?xml version="1.0" encoding="UTF-8"?> 
   <!DOCTYPE beans Public "-//SPRING//DTD BEAN//EN" 
   "http://www.springframework.org/dtd/spring-beans.dtd"> 
   <beans> 
   <bean id ="messageSource" class="org.springframework.context.support.ResourceBundleMessageSource">
<property name="basename">
<value>message</value>
</property>
</bean>
   <bean id ="HelloWorld" class="com.jnotnull.HelloWorld"> 
   <bean> 
   </beans> 

在这里我们定义一个bean,并且定义了basename的属性,属性值为message.这样我们在建资源文件的时候文件名就必须是message了,后缀名各不相同了。
下面我们用建立message.properties文件
输入
HelloWorld={0},现在是{1};
在这里要用要对上面的汉字进行转码,这个有第三方的插件,不然会产生乱码。
下面我们再写一个测试类:

package com.jnotnull;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.FileSystemXmlApplicationContext;
import java.util.Date;

public class Test {
public static void main(String []args){
ApplicationContext context = new FileSystemXmlApplicationContext("config.xml");
                Object[] objects = new Object[]{"HelloWorld",new Date()};
String message= context.getMessage("HelloWorld",objects,Locale.CHINA);
System.out.println(message);
}
}


这样就输出了结果;
同时我们还可以创建另一个资源文件message_en_US.properties文件
HelloWorld={0},now is{1}
将上面的代码
String message= context.getMessage("HelloWorld",objects,Locale.CHINA);
改为
String message= context.getMessage("HelloWorld",objects,Locale.US);
这样就得到了国际化的处理;
还是很方便的;
分享到:
评论

相关推荐

    Spring中ApplicationContext和beanfactory区别.rar

    然而,BeanFactory缺乏一些高级功能,如国际化支持(i18n)、事件传播、AOP代理以及对Spring的其他核心模块如MessageSource、ApplicationEvent等的集成。因此,对于大型复杂的应用,BeanFactory可能显得不够用。 ...

    JSP Spring ApplicationContext的国际化支持

    JSP Spring ApplicationContext的国际化支持是指在使用Spring框架开发应用时,如何让应用程序支持多语言环境,即能够根据用户的不同语言偏好显示相应的本地化信息。Spring框架通过ApplicationContext接口的国际化...

    09 Spring IoC容器ApplicationContext如何实现国际化慕课专栏1

    在Spring框架中,ApplicationContext是IoC容器的核心,它不仅负责管理Bean,还提供了实现国际化(i18n)的功能。国际化使应用程序能够适应不同语言和地区...总之,Spring的国际化支持使得开发多语言应用变得简单易行。

    三、Spring源码分析——ApplicationContext

    ApplicationContext通过实现BeanFactory接口,不仅能够初始化和管理Bean,还能够处理事件、国际化的消息、资源加载等。 1. **配置加载**: ApplicationContext可以从XML文件、Java配置类或者@ComponentScan注解中...

    spring 获得applicationcontext公用方法

    `ApplicationContext`是Spring框架的核心组件,它是Bean工厂(`BeanFactory`)的扩展,提供了更多高级特性,如国际化支持、事件发布、AOP代理等。通常,我们可以通过XML配置文件、注解或Java配置类来创建`...

    Spring中Bean的生命周期 applicationcontext的应用(实现国际化,事件的传递)

    ApplicationContext是Spring的核心接口,提供了比BeanFactory更高级的功能,如国际化支持和事件传播。 1. **实现国际化(i18n)**:ApplicationContext可以加载资源束文件,用于处理不同地区的消息。例如,我们可以...

    spring为ApplicationContext提供的3种实现分别为:ClassPathXmlApplicationContext

    3. **消息国际化**:ApplicationContext 支持消息国际化,可以处理不同地区的语言版本。 4. **事件传播**:ApplicationContext 提供了发布和订阅事件的能力,允许在 Bean 之间进行通信,无需硬编码依赖关系。 5. *...

    Spring实现国际化的一个小例子

    Spring提供了`NumberFormat`和`DateFormat`的国际化支持,可以通过`SimpleDateFormat`和`DecimalFormat`进行定制。 通过以上步骤,你就可以在Spring应用中实现一个基本的国际化功能。记得在实际项目中,需要考虑更...

    spring2.5的applicationContext配置文件

    7. **国际化**:Spring支持多语言环境,通过`&lt;bean id="messageSource" class="org.springframework.context.support.ResourceBundleMessageSource"&gt;`来配置消息源,使应用能够根据用户的语言环境显示相应的文本。...

    day38 05-Spring的BeanFactory与ApplicationContext区别

    例如,它不支持AOP(面向切面编程)和国际化(i18n),也不包含事件传播机制,这些功能在大型应用中非常重要。 相比之下,ApplicationContext是BeanFactory的扩展,它包含了BeanFactory的所有功能,并添加了许多...

    Spring中文API帮助文档

    2. **Bean工厂(Bean Factory)与ApplicationContext**:Bean Factory是Spring容器的基本实现,而ApplicationContext在Bean Factory的基础上添加了更多企业级服务,如消息源、应用事件和国际化支持。 3. **AOP**:...

    10 扩展之Spring MVC中如何实现国际化i18n慕课专栏1

    Spring MVC通过`ResourceBundleMessageSource`类对Java的`ResourceBundle`进行封装,简化了国际化处理流程。 在Spring MVC中实现i18n,首先要创建一个最小化的Spring MVC项目。这通常包括以下几个步骤: 1. 创建一...

    spring源码中英文注释

    9. **国际化与本地化**:Spring提供了`MessageSource`接口来支持多语言环境。源码中会涉及资源文件的加载和消息的查找。 10. **SpEL(Spring Expression Language)**:Spring的表达式语言用于在运行时查询和操作...

    Spring 中文开发手册

    Bean工厂负责对象的创建和管理,而ApplicationContext则增加了更多的企业级服务,如消息源和国际化支持。 2. **依赖注入(DI)**:Spring的核心特性之一,通过DI,对象之间的依赖关系不再硬编码,而是通过配置文件...

    Spring 中文参考手册

    接着,手册会涵盖Spring的Bean工厂和ApplicationContext,两者都是IoC容器的不同实现,但ApplicationContext提供了更多的企业级服务,如消息源、国际化支持等。 在数据访问层,Spring提供了对JDBC、ORM(Object-...

    spring 源码中文注释

    在源码中,`BeanFactory`和`ApplicationContext`接口是IoC容器的主要代表,前者是基础版本,后者提供了更多的企业级特性,如事件发布、国际化支持等。 接着,AOP是Spring的另一大特色。AOP允许开发者定义“切面”,...

    Spring的IoC容器初始化源码解析

    - **ApplicationContext**:提供了一整套丰富的服务,如资源加载、国际化支持等。 #### 五、IoC容器的初始化过程 IoC容器的初始化主要包括资源定位、加载和注册三个步骤。 ##### 5.1 资源定位 资源定位是指找到...

    Spring官网阅读(十三)ApplicationContext详解(下)

    ApplicationContext继承自BeanFactory,并在此基础上扩展了更多的企业级服务,如国际化支持、事件发布机制、资源处理以及对AOP(面向切面编程)的支持。在Spring应用中,通常会使用ApplicationContext来替代简单的...

Global site tag (gtag.js) - Google Analytics