Class CommonExtensionI18nAutoConfiguration.CommonExtensionMessageSourceCreator

  • Enclosing class:
    CommonExtensionI18nAutoConfiguration

    @Configuration
    @EnableConfigurationProperties
    public static class CommonExtensionI18nAutoConfiguration.CommonExtensionMessageSourceCreator
    extends Object
    In the event that a user wants to define their own custom bundle, we want to allow them to name it messages.properties for their convenience. As a result, we will give our default bundle a different basename rather than calling it messages.properties.

    We also append our default bundle using a MessagesDefaultBasenameAddingPostProcessor, so that it is added even if the user assigns their own custom basenames.

    However, MessageSourceAutoConfiguration will only register a MessageSource if the classpath has a messages.properties, or one of the sources listed in MessageSourceProperties.basename. Since we append our default basename after initialization, both of these conditions could not be met.

    As a result, we will manually create a MessageSource if it is not already present.

    • Constructor Detail

      • CommonExtensionMessageSourceCreator

        public CommonExtensionMessageSourceCreator()
    • Method Detail

      • messageSourceProperties

        @Bean
        @ConditionalOnMissingBean(value=org.springframework.context.MessageSource.class,
                                  search=CURRENT)
        @ConfigurationProperties(prefix="spring.messages")
        public org.springframework.boot.autoconfigure.context.MessageSourceProperties messageSourceProperties()
      • messageSource

        @Bean("messageSource")
        @ConditionalOnMissingBean(value=org.springframework.context.MessageSource.class,
                                  search=CURRENT)
        public org.springframework.context.MessageSource messageSource​(org.springframework.boot.autoconfigure.context.MessageSourceProperties properties)
        If there is not a message source, I need to define one for the default messages. This comes _directly_ from MessageSourceAutoConfiguration#messageSource()