public interface MessageSource
Spring provides two out-of-the-box implementations for production:
ResourceBundleMessageSource: built
 on top of the standard ResourceBundle, sharing its limitations.
 ReloadableResourceBundleMessageSource:
 highly configurable, in particular with respect to reloading message definitions.
 ResourceBundleMessageSource, 
ReloadableResourceBundleMessageSource| Modifier and Type | Method and Description | 
|---|---|
| String | getMessage(MessageSourceResolvable resolvable,
          Locale locale)Try to resolve the message using all the attributes contained within the
  MessageSourceResolvableargument that was passed in. | 
| String | getMessage(String code,
          Object[] args,
          Locale locale)Try to resolve the message. | 
| String | getMessage(String code,
          Object[] args,
          String defaultMessage,
          Locale locale)Try to resolve the message. | 
@Nullable String getMessage(String code, @Nullable Object[] args, @Nullable String defaultMessage, Locale locale)
code - the message code to look up, e.g. 'calculator.noRateSet'.
 MessageSource users are encouraged to base message names on qualified class
 or package names, avoiding potential conflicts and ensuring maximum clarity.args - an array of arguments that will be filled in for params within
 the message (params look like "{0}", "{1,date}", "{2,time}" within a message),
 or null if nonedefaultMessage - a default message to return if the lookup failslocale - the locale in which to do the lookupnull)getMessage(MessageSourceResolvable, Locale), 
MessageFormatString getMessage(String code, @Nullable Object[] args, Locale locale) throws NoSuchMessageException
code - the message code to look up, e.g. 'calculator.noRateSet'.
 MessageSource users are encouraged to base message names on qualified class
 or package names, avoiding potential conflicts and ensuring maximum clarity.args - an array of arguments that will be filled in for params within
 the message (params look like "{0}", "{1,date}", "{2,time}" within a message),
 or null if nonelocale - the locale in which to do the lookupnull)NoSuchMessageException - if no corresponding message was foundgetMessage(MessageSourceResolvable, Locale), 
MessageFormatString getMessage(MessageSourceResolvable resolvable, Locale locale) throws NoSuchMessageException
MessageSourceResolvable argument that was passed in.
 NOTE: We must throw a NoSuchMessageException on this method
 since at the time of calling this method we aren't able to determine if the
 defaultMessage property of the resolvable is null or not.
resolvable - the value object storing attributes required to resolve a message
 (may include a default message)locale - the locale in which to do the lookupnull since even a
 MessageSourceResolvable-provided default message needs to be non-null)NoSuchMessageException - if no corresponding message was found
 (and no default message was provided by the MessageSourceResolvable)MessageSourceResolvable.getCodes(), 
MessageSourceResolvable.getArguments(), 
MessageSourceResolvable.getDefaultMessage(), 
MessageFormat