标签:code one scan cti not java xml配置 有用 color
生命太过短暂,今天放弃了明天不一定能得到。
Spring有多个信息源的类,它们都实现了MessageSource接口。在这些类中,最常见和有用的是 ResourceBundleMessageSource 和
ReloadableResourceBundleMessageSource。
1.配置ResourceBundleMessageSource
1)使用Java配置
package config; import org.springframework.context.MessageSource; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.Configuration; import org.springframework.context.support.ResourceBundleMessageSource; import org.springframework.web.servlet.ViewResolver; import org.springframework.web.servlet.config.annotation.EnableWebMvc; import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter; import org.springframework.web.servlet.view.InternalResourceViewResolver; import org.springframework.web.servlet.view.JstlView; @Configuration @EnableWebMvc @ComponentScan("study.practice") public class WebConfig extends WebMvcConfigurerAdapter { /** * 配置JSP视图解析器:InternalResourceViewResolver * @return */ @Bean public ViewResolver viewResolver() { InternalResourceViewResolver resolver = new InternalResourceViewResolver(); //添加前缀 resolver.setPrefix("/WEB-INF/views"); //添加后缀 resolver.setSuffix(".jsp"); resolver.setViewClass(JstlView.class); return resolver; } /** * 配置国际化信息源 ResourceBundleMessageSource * @return */ @Bean public MessageSource messageSource() { ResourceBundleMessageSource messageSource = new ResourceBundleMessageSource(); messageSource.setBasename("messages"); return messageSource; } }
2)使用XML配置
<bean id="messageSource" class="org.springframework.context.support.ResourceBundleMessageSource" p:basename="messages" />
设置该bean的baseName属性,ResourceBundleMessageSource 会试图在根路径的属性文件中解析信息,这些属性文件的名称时根据这个基础名称衍生得到的,如以上代码baseName为‘messages‘,那么这些属性文件可命名为‘messages_zh.properties‘或‘messages_us.properties‘。
2.配置ReloadableResourceBundleMessageSource
1)使用Java配置
@Bean public MessageSource messageSource() { ReloadableResourceBundleMessageSource messageSource = new ReloadableResourceBundleMessageSource(); messageSource.setBasename("file:///etc/source/messages"); messageSource.setCacheSeconds(10); return messageSource; }
2)使用XML配置
<bean id="messageSource" class="org.springframework.context.support.ReloadableResourceBundleMessageSource" p:basename="file:///etc/source/messages" p:cacheSeconds="10" />
这两种方案的工作方式非常类似,区别在于ReloadableResourceBundleMessageSource 能够重新加载信息属性,而不必重新编译或重启应用。
标签:code one scan cti not java xml配置 有用 color
原文地址:https://www.cnblogs.com/dandelZH/p/9053616.html