Spring--Spring国际化
Posted jazon@
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring--Spring国际化相关的知识,希望对你有一定的参考价值。
Spring国际化接口
- 核心接口: org.springframework.context.MessageSource
- 主要概念: 1.文案模板编码code 2.文案模板参数args 3.区域Locale
层次性MessageSource
Spring国际化的实现类都是层次性的,具体接口如下
- Spring层次化国际化接口: org.springframework.context.HierarchicalMessageSrouce
Java国际化标准实现
- 抽象实现-java.util.ResourceBundle
- Properties资源实现- java.util.PropertyResourceBundle
- 例举实现-java.util.ListResourceBundle
ResourceBundler核心特性
- Key-Value设计
- 层次性设计
- 缓存设计
- 字符编码控制
- ControlSPI扩展
Java文本格式化
- 核心接口: java.text.MessageFormat
- 基本用法:
// 设置消息格式模式
MessageFormat msgFormat = new MessageFormat("1 is 0")
msgFormat.format(new Object[]...)
- 消息格式模式
可选地,格式化参数的类型以及风格
格式元素: ArgumentIndex(,FormatType,(FormatStyle))
FormatType:消息格式类型,可选项,每种类型在number,date,time和choice类型选其一
FormatStype:消息格式风格,可选项,包括: shrot,medium,long,full,integer,currency,percent
MessageSource开箱即用实现
- 基于ResourceBundler+MessageFormat组合的MessageSource实现
org.springframework.context.support.ResourceBundleMessageSource
- 可重载Properties+MessageFormat组合的MessageSource实现
org.springframework.context.support.ReloadableResourceBundleMessageSource
MessageSource内建依赖
- MessageSource内建Bean可能来源
- 预注册Bean名称为messageSource,类型为MessageSourceBean
- 默认内建实现-DelegatingMessageSource,如果已存在messageSource,则直接使用已有的
SpringBooot为什么要新建MessageSource Bean
- AbstractApplicationContext的实现决定了MessageSource的内建实现,通过已存在bean可以替换。
- SpringBoot通过外部化配置简化MessageSourceBean构建
以上是关于Spring--Spring国际化的主要内容,如果未能解决你的问题,请参考以下文章
Spring框架系列 - Spring和Spring框架组成
Spring全家桶笔记:Spring+Spring Boot+Spring Cloud+Spring MVC
学习笔记——Spring简介;Spring搭建步骤;Spring的特性;Spring中getBean三种方式;Spring中的标签