## 接口的使用
org.springframework.context.MessageSource

- 使用MessageSource的程序包
  程序包 | 说明
  --- | ---
  org.springframework.context | This package builds on the beans package to add support for message sources and for the Observer design pattern, and the ability for application objects to obtain resources using a consistent API.
  org.springframework.context.annotation | Annotation support for the Application Context, including JSR-250 "common" annotations, component-scanning, and Java-based metadata for creating Spring-managed objects.
  org.springframework.context.support | Classes supporting the org.springframework.context package, such as abstract base classes for ApplicationContext implementations and a MessageSource implementation.
  org.springframework.ui.context | Contains classes defining the application context subinterface for UI applications.
  org.springframework.ui.context.support | Classes supporting the org.springframework.ui.context package.
  org.springframework.validation.beanvalidation | Support classes for integrating a JSR-303 Bean Validation provider (such as Hibernate Validator) into a Spring ApplicationContext and in particular with Spring's data binding and validation APIs.

- - ### org.springframework.context中MessageSource的使用

    org.springframework.context中MessageSource的子接口
    限定符和类型 | 接口和说明
    --- | ---
    `interface` | `ApplicationContext` Central interface to provide configuration for an application.
    `interface` | `ConfigurableApplicationContext` SPI interface to be implemented by most if not all application contexts.
    `interface` | `HierarchicalMessageSource` Sub-interface of MessageSource to be implemented by objects that can resolve messages hierarchically.

    返回MessageSource的org.springframework.context中的方法
    限定符和类型 | 方法和说明
    --- | ---
    `MessageSource` | HierarchicalMessageSource.`getParentMessageSource()` Return the parent of this MessageSource, or `null` if none.

    参数类型为MessageSource的org.springframework.context中的方法
    限定符和类型 | 方法和说明
    --- | ---
    `void` | MessageSourceAware.`setMessageSource(MessageSource messageSource)` Set the MessageSource that this object runs in.
    `void` | HierarchicalMessageSource.`setParentMessageSource(MessageSource parent)` Set the parent that will be used to try to resolve messages that this object can't resolve.

  - ### org.springframework.context.annotation中MessageSource的使用

    实现MessageSource的org.springframework.context.annotation中的类
    限定符和类型 | 类和说明
    --- | ---
    `class` | `AnnotationConfigApplicationContext` Standalone application context, accepting annotated classes as input - in particular `@Configuration`-annotated classes, but also plain `@Component` types and JSR-330 compliant classes using `javax.inject` annotations.

  - ### org.springframework.context.support中MessageSource的使用

    实现MessageSource的org.springframework.context.support中的类
    限定符和类型 | 类和说明
    --- | ---
    `class` | `AbstractApplicationContext` Abstract implementation of the `ApplicationContext` interface.
    `class` | `AbstractMessageSource` Abstract implementation of the `HierarchicalMessageSource` interface, implementing common handling of message variants, making it easy to implement a specific strategy for a concrete MessageSource.
    `class` | `AbstractRefreshableApplicationContext` Base class for `ApplicationContext` implementations which are supposed to support multiple calls to `AbstractApplicationContext.refresh()`, creating a new internal bean factory instance every time.
    `class` | `AbstractRefreshableConfigApplicationContext` `AbstractRefreshableApplicationContext` subclass that adds common handling of specified config locations.
    `class` | `AbstractResourceBasedMessageSource` Abstract base class for `MessageSource` implementations based on resource bundle conventions, such as `ResourceBundleMessageSource` and `ReloadableResourceBundleMessageSource`.
    `class` | `AbstractXmlApplicationContext` Convenient base class for `ApplicationContext` implementations, drawing configuration from XML documents containing bean definitions understood by an `XmlBeanDefinitionReader`.
    `class` | `ClassPathXmlApplicationContext` Standalone XML application context, taking the context definition files from the class path, interpreting plain paths as class path resource names that include the package path (e.g.
    `class` | `DelegatingMessageSource` Empty `MessageSource` that delegates all calls to the parent MessageSource.
    `class` | `FileSystemXmlApplicationContext` Standalone XML application context, taking the context definition files from the file system or from URLs, interpreting plain paths as relative file system locations (e.g.
    `class` | `GenericApplicationContext` Generic ApplicationContext implementation that holds a single internal `DefaultListableBeanFactory` instance and does not assume a specific bean definition format.
    `class` | `GenericGroovyApplicationContext` An `ApplicationContext` implementation that extends `GenericApplicationContext` and implements `GroovyObject` such that beans can be retrieved with the dot de-reference syntax instead of using `AbstractApplicationContext.getBean(java.lang.String)`.
    `class` | `GenericXmlApplicationContext` Convenient application context with built-in XML support.
    `class` | `ReloadableResourceBundleMessageSource` Spring-specific `MessageSource` implementation that accesses resource bundles using specified basenames, participating in the Spring `ApplicationContext`'s resource loading.
    `class` | `ResourceBundleMessageSource` `MessageSource` implementation that accesses resource bundles using specified basenames.
    `class` | `StaticApplicationContext` `ApplicationContext` implementation which supports programmatic registration of beans and messages, rather than reading bean definitions from external configuration sources.
    `class` | `StaticMessageSource` Simple implementation of `MessageSource` which allows messages to be registered programmatically.

    返回MessageSource的org.springframework.context.support中的方法
    限定符和类型 | 方法和说明
    --- | ---
    `protected MessageSource` | AbstractApplicationContext.`getInternalParentMessageSource()` Return the internal message source of the parent context if it is an AbstractApplicationContext too; else, return the parent context itself.
    `MessageSource` | AbstractMessageSource.`getParentMessageSource()`
    `MessageSource` | DelegatingMessageSource.`getParentMessageSource()`

    参数类型为MessageSource的org.springframework.context.support中的方法
    限定符和类型 | 方法和说明
    --- | ---
    `void` | AbstractMessageSource.`setParentMessageSource(MessageSource parent)`
    `void` | DelegatingMessageSource.`setParentMessageSource(MessageSource parent)`

    参数类型为MessageSource的org.springframework.context.support中的构造器
    构造器和说明
    `MessageSourceAccessor(MessageSource messageSource)` Create a new MessageSourceAccessor, using LocaleContextHolder's locale as default locale.
    `MessageSourceAccessor(MessageSource messageSource, Locale defaultLocale)` Create a new MessageSourceAccessor, using the given default locale.
    `MessageSourceResourceBundle(MessageSource source, Locale locale)` Create a new MessageSourceResourceBundle for the given MessageSource and Locale.
    `MessageSourceResourceBundle(MessageSource source, Locale locale, ResourceBundle parent)` Create a new MessageSourceResourceBundle for the given MessageSource and Locale.

  - ### org.springframework.ui.context中MessageSource的使用

    返回MessageSource的org.springframework.ui.context中的方法
    限定符和类型 | 方法和说明
    --- | ---
    `MessageSource` | Theme.`getMessageSource()` Return the specific MessageSource that resolves messages with respect to this theme.

  - ### org.springframework.ui.context.support中MessageSource的使用

    返回MessageSource的org.springframework.ui.context.support中的方法
    限定符和类型 | 方法和说明
    --- | ---
    `protected MessageSource` | ResourceBundleThemeSource.`createMessageSource(String basename)` Create a MessageSource for the given basename, to be used as MessageSource for the corresponding theme.
    `MessageSource` | SimpleTheme.`getMessageSource()`

    参数类型为MessageSource的org.springframework.ui.context.support中的构造器
    构造器和说明
    `SimpleTheme(String name, MessageSource messageSource)` Create a SimpleTheme.

  - ### org.springframework.validation.beanvalidation中MessageSource的使用

    参数类型为MessageSource的org.springframework.validation.beanvalidation中的方法
    限定符和类型 | 方法和说明
    --- | ---
    `void` | LocalValidatorFactoryBean.`setValidationMessageSource(MessageSource messageSource)` Specify a custom Spring MessageSource for resolving validation messages, instead of relying on JSR-303's default "ValidationMessages.properties" bundle in the classpath.

    参数类型为MessageSource的org.springframework.validation.beanvalidation中的构造器
    构造器和说明
    `MessageSourceResourceBundleLocator(MessageSource messageSource)` Build a MessageSourceResourceBundleLocator for the given MessageSource.