文档章节

Spring多配置文件与国际化,使用资源文件

蜡笔小小小新
 蜡笔小小小新
发布于 2015/03/14 21:13
字数 518
阅读 40
收藏 0
点赞 0
评论 0
package exm.spring.bean;

public class Student {
	
	private String id;
	
	private String name;
	
	private String sex;
	
	private String grade;

	public Student() {
		super();
		// TODO Auto-generated constructor stub
	}

	public Student(String id, String name, String sex, String grade) {
		super();
		this.id = id;
		this.name = name;
		this.sex = sex;
		this.grade = grade;
	}

	public String getId() {
		return id;
	}

	public void setId(String id) {
		this.id = id;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public String getSex() {
		return sex;
	}

	public void setSex(String sex) {
		this.sex = sex;
	}

	public String getGrade() {
		return grade;
	}

	public void setGrade(String grade) {
		this.grade = grade;
	}

	@Override
	public String toString() {
		return "Student [id=" + id + ", name=" + name + ", sex=" + sex
				+ ", grade=" + grade + "]";
	}

}


package exm.spring.bean;

public class Screen {
	
	public Screen(){}
	
	public void print(Student student)
	{
		System.out.println(student.getId()+" "+
				student.getName()+" "+student.getSex()+" "+student.getGrade());
	}

}


package exm.spring.test;

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.Locale;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.core.io.Resource;

import exm.spring.bean.Screen;
import exm.spring.bean.Student;

public class Test {
	
	@org.junit.Test
	public void test()
	{
		/**
		 * Spring加载多个配置文件
		 */
		ApplicationContext ac = new ClassPathXmlApplicationContext("beans1.xml","beans2.xml");
		
		Student student = ac.getBean("student", Student.class);
		
		Screen screen = ac.getBean("screen",Screen.class);
		
		screen.print(student);
		
		/**
		 * 让spring从指定路径加载资源
		 * 1、classpath:从类加载路径加载
		 * 2、ftp:			从网络加载,基于FTP协议
		 * 3、http:			从网络加载,基于HTTP协议
		 */
		try
		{
		        //message.txt放在在src文件夹下
			Resource resource = ac.getResource("classpath:message.txt");
			
			BufferedReader br = 
					new BufferedReader(new InputStreamReader(resource.getInputStream()));
			
			String line = null;
			
			while((line = br.readLine()) != null)
			{
				System.out.println("---------"+line+"----------");
			}
		}
		catch(Exception e)
		{
			e.printStackTrace();
		}
		
		/**
		 * 使用国际化资源文件
		 * 该方法的三个参数分别是:
		 * 1、对应资源文件的key
		 * 2、对应的占位符
		 * 3、使用的locale,如果要使用用户操作系统的locale,则Locale.getDefault()
		 */
		System.out.println(ac.getMessage("hello", new String[]{student.getName()}, Locale.CHINA));
		
		System.out.println(ac.getMessage("welcome", new String[]{student.getName()}, Locale.US));
	}

}

<!-- 配置文件1 -->
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.springframework.org/schema/beans
        http://www.springframework.org/schema/beans/spring-beans.xsd">
        
        <bean id="screen" class="exm.spring.bean.Screen">
        </bean>
        
        <!-- 这个bean负责加载国际化资源文件 -->
        <bean id="messageResource" class="org.springframework.context.support.ResourceBundleMessageSource">
        <!-- 相当于调用方法:setBasenames(String... basenames) -->
        	<property name="basenames">
        		<list>
        			<value>message</value>
        		</list>
        	</property>
        </bean>
        
</beans>

<!-- 配置文件2 -->
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.springframework.org/schema/beans
        http://www.springframework.org/schema/beans/spring-beans.xsd">

    <bean id="student" class="exm.spring.bean.Student">
    	<constructor-arg name="id" value="11303080423"/>
    	<constructor-arg name="name" value="林金智"/>
    	<constructor-arg name="sex" value="男"/>
    	<constructor-arg name="grade" value="384"/>
    </bean>

</beans>


© 著作权归作者所有

共有 人打赏支持
蜡笔小小小新
粉丝 32
博文 114
码字总数 75210
作品 0
深圳
后端工程师
Spring Boot国际化开发实战

本章将讲解如何在Spring Boot和Thymeleaf中做页面模板国际化的支持,根据系统语言环境或者session中的语言来自动读取不同环境中的文字。 国际化自动配置 Spring Boot中已经对国际化这一块做了...

Java技术栈
06/08
0
0
SpringMVC ------JstlView

若项目中使用JSTL,则SpringMVC会自动把视图由InternalResourceView转为JstlView 若使用JSTL的fmt标签则需要在SpringMVC的配置文件中配置国际化资源文件。 <bean id="messageSource" class"o...

Rickxue
2015/12/17
631
0
使用jquery.i18n.properties.js实现js国际化

前两天接到一个任务,把之前的做过的一个系统实现国际化,之前的系统用的是Spring框架,国际化还是比较简单的。但是有一些提示是写在js文件里面的,搜了一些,发现一个js国际化的框架jquery....

外来物种
2015/05/31
0
0
SpringBoot实现session共享和国际化

SpringBoot Session共享 修改pom.xml添加依赖 org.springframework.sessionspring-session-data-redis 添加配置类 RedisSessionConfig @Configuration@EnableRedisHttpSession(maxInactiveIn......

欧阳海阳
06/26
0
0
spring security

Spring Security 为基于 J2EE 企业应用软件提供了全面安全服务。安全主要包括两个操作“认证”与“验证”(有时候也会叫做权限控制)。“认证”是为用户建立一个其声明的角色的过程,这个角色...

peiquan
07/04
0
0
说说在 Spring 中如何国际化信息

1 MessageSource Spring 定义了 MessageSource 接口,用于访问国际化信息。 getMessage(String code, Object[] args, String defaultMessage, Locale locale) getMessage(String code, Objec......

deniro
05/27
0
0
主题:学习Spring必学的Java基础知识(8)----国际化信息

引述要学习Spring框架的技术内幕,必须事先掌握一些基本的Java知识,正所谓“登高必自卑,涉远必自迩”。以下几项Java知识和Spring框架息息相关,不可不学(我将通过一个系列分别介绍这些Jav...

again-Y
2014/11/25
0
0
Spring-Boot 多环境配置说明

作者: 一字马胡 多环境配置是一件非常重要的事情,在日常开发过程中,我们都会有多套开发环境,比如在本地快速开发自测,然后提交到测试环境让专门的人来测试验收,测试环境验收完毕之后再上...

疼蛋之丸
07/07
0
0
Spring(一)——总体介绍

工作闲着,快速回顾一下spring框架。Spring框架,是进行对象管理,对象关联,解耦的一个中间层框架。SSH(Struts+Spring+Hibernate)三大Spring在中间就起着一个承上启下的作用。好,首先我们...

凡尘里的一根葱
2015/11/10
0
0
【补充】Hibernate validator使用和自定义validator及整合Spring MVC

Hibernate validator使用 导入validation-api-xxx.jar 以及 hibernate-validator-xxx.Final.jar 需要检查的java bean Entity.java 值校验的测试类 输出结果 这里有一个国际化的key值,国际化文...

jason_wu_2
2016/12/27
387
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Android 复制和粘贴功能

做了一回搬运工,原文地址:https://blog.csdn.net/kennethyo/article/details/76602765 Android 复制和粘贴功能,需要调用系统服务ClipboardManager来实现。 ClipboardManager mClipboardM...

她叫我小渝
18分钟前
0
0
拦截SQLSERVER的SSL加密通道替换传输过程中的用户名密码实现运维审计(一)

工作准备 •一台SQLSERVER 2005/SQLSERVER 2008服务 •SQLSERVER jdbc驱动程序 •Java开发环境eclipse + jdk1.8 •java反编译工具JD-Core 反编译JDBC分析SQLSERVER客户端与服务器通信原理 SQ...

紅顏為君笑
35分钟前
4
0
jQuery零基础入门——(六)修改DOM结构

《jQuery零基础入门》系列博文是在廖雪峰老师的博文基础上,可能补充了个人的理解和日常遇到的点,用我的理解表述出来,主干出处来自廖雪峰老师的技术分享。 在《零基础入门JavaScript》的时...

JandenMa
52分钟前
0
0
linux mint 1.9 qq 安装

转: https://www.jianshu.com/p/cdc3d03c144d 1. 下载 qq 轻聊版,可在百度搜索后下载 QQ7.9Light.exe 2. 去wine的官网(https://wiki.winehq.org/Ubuntu) 安装 wine . 提醒网页可以切换成中...

Canaan_
今天
0
0
PHP后台运行命令并管理运行程序

php后台运行命令并管理后台运行程序 class ProcessModel{ private $pid; private $command; private $resultToFile = ''; public function __construct($cl=false){......

colin_86
今天
1
0
数据结构与算法4

在此程序中,HighArray类中的find()方法用数据项的值作为参数传递,它的返回值决定是否找到此数据项。 insert()方法向数组下一个空位置放置一个新的数据项。一个名为nElems的字段跟踪记录着...

沉迷于编程的小菜菜
今天
1
1
fiddler安装和基本使用以及代理设置

项目需求 由于开发过程中客户端和服务器数据交互非常频繁,有时候服务端需要知道客户端调用接口传了哪些参数过来,这个时候就需要一个工具可以监听这些接口请求参数,已经接口的响应的数据,这种...

银装素裹
今天
0
0
Python分析《我不是药神》豆瓣评论

读取 Mongo 中的短评数据,进行中文分词 对分词结果取 Top50 生成词云 生成词云效果 看来网上关于 我不是药神 vs 达拉斯 的争论很热啊。关于词频统计就这些,代码中也会完成一些其它的分析任...

猫咪编程
今天
0
0
虚拟机怎么安装vmware tools

https://blog.csdn.net/tjcwt2011/article/details/72638977

AndyZhouX
昨天
1
0
There is no session with id[xxx]

参考网页 https://blog.csdn.net/caimengyuan/article/details/52526765 报错 2018-07-19 23:04:35,330 [http-nio-1008-exec-8] DEBUG [org.apache.shiro.web.servlet.SimpleCookie] - Found......

karma123
昨天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部