[英]How to inject MessageSource resource bundle with Spring?
嗨,您有兩個不同的消息束。 如何將它們直接注入Spring bean MessageSource
?
以下內容不起作用:
@Resource(name = "${messages_one_EB.properties}")
private MessageSource messageSourceOne;
@Resource(name = "${messages_two_EN.properties}")
private MessageSource messageSourceTwo;
結果: java.lang.IllegalArgumentException: Could not resolve placeholder 'messages_one_EB.properties'
可能它的工作原理類似,但是如何? 我在文檔中找不到任何示例。
這兩個包都放在src/main/resources/
我猜您可以為消息源聲明2個不同的bean,然后按名稱注入它們:
@Bean
public MessageSource messageSource1() {
final ReloadableResourceBundleMessageSource messageSource = new ReloadableResourceBundleMessageSource();
messageSource.setBasename("classpath:i18n/messages1");
messageSource.setFallbackToSystemLocale(false);
messageSource.setCacheSeconds(0);
return messageSource;
}
@Bean
public MessageSource messageSource2() {
final ReloadableResourceBundleMessageSource messageSource = new ReloadableResourceBundleMessageSource();
messageSource.setBasename("classpath:i18n/messages2");
messageSource.setFallbackToSystemLocale(false);
messageSource.setCacheSeconds(0);
return messageSource;
}
然后在您的課程中:
@Resource(name = "messageSource1")
private MessageSource messageSourceOne;
@Resource(name = "messageSource2")
private MessageSource messageSourceTwo;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.