负责这块功能的就是下图中红框框圈中的方法~
这个接口提供了处理消息的策略,包含了信息的国际化和包含参数信息的替换,里面包含三个重载方法
String getMessage(String code, @Nullable Object[] args, @Nullable String defaultMessage, Locale locale);
解析code对应的信息进行返回,如果对应的code不能被解析则返回默认信息defaultMessage
参数解释
需要进行解析的code,对应资源文件中的一个属性名
@param 需要用来替换code对应的信息中包含参数的内容,如:{0},{1,date},{2,time}
@param defaultMessage 当对应code对应的信息不存在时需要返回的默认值
@param locale 对应的Locale
String getMessage(String code, @Nullable Object[] args, Locale locale) throws NoSuchMessageException;
解析code对应的信息进行返回,如果对应的code不能被解析则抛出异常NoSuchMessageException
参数解释
@param code 需要进行解析的code,对应资源文件中的一个属性名
@param args 需要用来替换code对应的信息中包含参数的内容(${})
@param locale 对应的Locale
String getMessage(MessageSourceResolvable resolvable, Locale locale) throws NoSuchMessageException;
通过传递的MessageSourceResolvable对应来解析对应的信息
参数传递
@param resolvable
@param locale 对应的Locale
code:需要解析的code 对应资源文件的一个属性
args:需要用来替换的code中包含的参数的内容
defaultMessage :对应code信息不存在时返回的默认值
Locale :定义了多个代表一个特定的地理、政治或文化区域的常量