code: public static void registerMessageSourceIfNecessary(BeanDefinitionRegistry registry,
              String[] messageBaseNames) {
          if (!ArrayUtils.contains(registry.getBeanDefinitionNames(), MESSAGE_SOURCE_BEAN_NAME)) {
              logger.debug("registerMessageSource  " + ArrayUtils.toString(messageBaseNames));
              GenericBeanDefinition messageSource = new GenericBeanDefinition();
              messageSource.setBeanClass(ReloadableResourceBundleMessageSource.class);
              MutablePropertyValues propertyValues = new MutablePropertyValues();
              propertyValues.addPropertyValue("useCodeAsDefaultMessage", true);
              propertyValues.addPropertyValue("defaultEncoding", "UTF-8"); // properties文件也将使用UTF-8编辑，而非默认的ISO-9959-1
              propertyValues.addPropertyValue("cacheSeconds", 60); // 暂时hardcode! 60
              propertyValues.addPropertyValue("basenames", messageBaseNames);
  
              messageSource.setPropertyValues(propertyValues);
              registry.registerBeanDefinition(MESSAGE_SOURCE_BEAN_NAME, messageSource);
          }
      }
docs: 如果配置文件没有自定义的messageSource定义，则由Rose根据最佳实践进行预设