MessageSource
这个接口的作用是国际化,主要方法是根据编码,参数,语言获取内容。
AbstractMessageSource
HierarchicalMessageSource 父子关系,类似于BeanFactory的父子关系
MessageSourceSupport 用来格式化参数的,内部采用JAVA的MessageFormat实现
该抽像类提供一个commonMessage,当本地化不存在时,从公共的消息里面进行查找。
该类有3个实现类:
org.springframework.context.support.StaticMessageSource
静态简单的实现类,就是塞值,拿值
org.springframework.context.support.AbstractResourceBasedMessageSource
i18N前缀设置,比如foo_zh_cn.properties,这个类用来设置foo或者vk/foo的。
org.springframework.context.support.ResourceBundleMessageSource
这个是类的作用是采用JDK的ResourceBundle,PropertyResourceBundle内为内部实现。所以baseName的设置类似于vk.foo
org.springframework.context.support.ReloadableResourceBundleMessageSource
这个类的内部实现是采用ResourceLoader进行加载资源的,所以baseName的设置类似于vk/foo。格式化采用MessageSourceSupport。