springIOC源码接口分析(四):MessageSource
2024-09-14 12:25:57
一 定义方法
MessageSource接口用于支持信息的国际化和包含参数的信息的替换
这个接口定义了三个方法:
public interface MessageSource { /**
* 解析code对应的信息进行返回,如果对应的code不能被解析则返回默认信息defaultMessage。
* @param 需要进行解析的code,对应资源文件中的一个属性名
* @param 需要用来替换code对应的信息中包含参数的内容,如:{0},{1,date},{2,time}
* @param defaultMessage 当对应code对应的信息不存在时需要返回的默认值
* @param locale 对应的Locale
* @return
*/
String getMessage(String code, Object[] args, String defaultMessage, Locale locale); /**
* 解析code对应的信息进行返回,如果对应的code不能被解析则抛出异常NoSuchMessageException
* @param code 需要进行解析的code,对应资源文件中的一个属性名
* @param args 需要用来替换code对应的信息中包含参数的内容,如:{0},{1,date},{2,time}
* @param locale 对应的Locale
* @return
* @throws NoSuchMessageException 如果对应的code不能被解析则抛出该异常
*/
String getMessage(String code, Object[] args, Locale locale) throws NoSuchMessageException; /**
* 通过传递的MessageSourceResolvable对应来解析对应的信息
* @param resolvable
* @param locale 对应的Locale
* @return
* @throws NoSuchMessageException 如不能解析则抛出该异常
*/
String getMessage(MessageSourceResolvable resolvable, Locale locale) throws NoSuchMessageException; }
ApplicationContext接口就继承MessageSource接口,所以所有的ApplicationContext实现类都实现了MessageSource接口,
可以通过ApplicationContext来调用MessageSource接口方法,以实现信息的国际化和替换信息中包含的参数。
所有ApplicationContext实现类对MessageSource接口的实现,都是在AbstractApplicationContext中统一实现的,这样所有容器国家化调用父抽象类方法即可
最新文章
- PHP运行及语句
- 自罚一杯-PHP基础(一)
- translateZ 带来的Z-index 问题
- Apache 配置HTTPS协议搭载SSL配置
- git在分支上创建目录和文件
- MYSQL 磁盘临时表和文件排序
- webapp前端开发软键盘与position:fixed为我们带来的不便
- PAT (Advanced Level) 1009. Product of Polynomials (25)
- sql递归查询语句
- SpriteBuilder中时间线播放音效的弊端
- 使用 dotTrace 分析 .NET Core 代码问题
- Android短信大全
- FreeSWITCH异常原因总结
- 20165220预备作业3 Linux安装及学习
- git刚初始化项目的操作
- CentOS 7设置Samba共享目录
- typedef与前向声明
- Android 开发工具类 05_Logcat 统一管理类
- Chrome-Adobe Flash 无法正常使用
- 运用 Range 对象处理 Word 文档内容