org.springframework.context

## 接口 MessageSource

- 所有已知子接口:
    ApplicationContext, ConfigurableApplicationContext, HierarchicalMessageSource
  所有已知实现类:
    AbstractApplicationContext, AbstractMessageSource, AbstractRefreshableApplicationContext, AbstractRefreshableConfigApplicationContext, AbstractResourceBasedMessageSource, AbstractXmlApplicationContext, AnnotationConfigApplicationContext, ClassPathXmlApplicationContext, DelegatingMessageSource, FileSystemXmlApplicationContext, GenericApplicationContext, GenericGroovyApplicationContext, GenericXmlApplicationContext, ReloadableResourceBundleMessageSource, ResourceBundleMessageSource, StaticApplicationContext, StaticMessageSource

      public interface MessageSource

  Strategy interface for resolving messages, with support for the parameterization and internationalization of such messages.

  Spring provides two out-of-the-box implementations for production:

  - `ResourceBundleMessageSource`, built on top of the standard `ResourceBundle`
  - `ReloadableResourceBundleMessageSource`, being able to reload message definitions without restarting the VM
  作者:
    Rod Johnson, Juergen Hoeller
  另请参阅:
    `ResourceBundleMessageSource`, `ReloadableResourceBundleMessageSource`

- - ### 方法概要

    所有方法 实例方法 抽象方法
    限定符和类型 | 方法和说明
    --- | ---
    `String` | `getMessage(MessageSourceResolvable resolvable, Locale locale)` Try to resolve the message using all the attributes contained within the `MessageSourceResolvable` argument 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.

- - ### 方法详细资料

    - #### getMessage

          @Nullable
          String getMessage(String code,
                                       @Nullable
                                       Object[] args,
                                       @Nullable
                                       String defaultMessage,
                                       Locale locale)

      Try to resolve the message. Return default message if no message was found.
      参数:
        `code` - the code to lookup up, such as 'calculator.noRateSet'. Users of this class are encouraged to base message names on the relevant fully qualified class name, thus avoiding conflict 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 none.
        `defaultMessage` - a default message to return if the lookup fails
        `locale` - the locale in which to do the lookup
      返回:
        the resolved message if the lookup was successful; otherwise the default message passed as a parameter
      另请参阅:
        `MessageFormat`

    - #### getMessage

          String getMessage(String code,
                            @Nullable
                            Object[] args,
                            Locale locale)
                     throws NoSuchMessageException

      Try to resolve the message. Treat as an error if the message can't be found.
      参数:
        `code` - the code to lookup up, such as 'calculator.noRateSet'
        `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 none.
        `locale` - the locale in which to do the lookup
      返回:
        the resolved message
      抛出:
        `NoSuchMessageException` - if the message wasn't found
      另请参阅:
        `MessageFormat`

    - #### getMessage

          String getMessage(MessageSourceResolvable resolvable,
                            Locale locale)
                     throws NoSuchMessageException

      Try to resolve the message using all the attributes contained within the `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
        `locale` - the locale in which to do the lookup
      返回:
        the resolved message
      抛出:
        `NoSuchMessageException` - if the message wasn't found
      另请参阅:
        `MessageFormat`