我不明白为什么我必须创建bean ResourceBundleMessageSource
,
public class AppConfig {
@Bean
public ResourceBundleMessageSource messageSource(){
ResourceBundleMessageSource source = new ResourceBundleMessageSource();
source.setBasename("i18n/messages");
return source;
}
在我的课程
MessageSource
界面中使用?@Autowired
private MessageSource messageSource;
您能解释一下
ResourceBundleMessageSource
和MessageSource
之间的链接在哪里吗?请提供有关如何在Spring代码中进行检查的信息。
提前致谢。
最佳答案
MessageSource
是一个接口,因此使用更常见的协定而非实现是一种春季方法。ResourceBundleMessageSource
是MessageSource接口的实现。MessageSource
较宽,不仅可以包含ResourceBundleMessageSource
,还可以包含其他消息源
因此,您添加了自己的消息源,但使用了另一个消息源,其中可能还包括聚合的消息源。
您可以设置一个断点并检查分配给
private MessageSource messageSource
没必要您的
ResourceBundleMessageSource