在模块化Spring应用程序中支持i18n的最佳解决方案是什么?

时间:2012-09-18 10:28:33

标签: java spring internationalization intellij-idea

我正在开发模块化Spring应用程序。它有几个模块。其中一个有两个子模块:webjar。这些模块具有独立的消息属性basenames。

第一个声明了标识为messageSource的bean。我知道在应用程序中只能存在一个带有messageSource id的bean。第二个具有另一个名称的bean(类似于messageSource)并声明了自己的类ReloadableResourceBundleMessageSource

我在这里读到:http://blog.synyx.de/2010/04/modular-web-applications-based-on-spring/关于一个解决方案。这里https://github.com/synyx/messagesource是用于在数据库中存储消息的解决方案。

我想知道:在模块化Spring应用程序中支持i18n的最佳解决方案是什么?我想有一个目录与消息属性文件。不是每个模块的单独目录。我可以配置Spring来访问模块上的消息吗?

我正在使用IntelliJ IDEA来处理应用程序模块。

1 个答案:

答案 0 :(得分:-1)

据我所知,您的应用程序中不需要两个单独的属性文件。您可以为属性文件创建一个目录,并可以在所有模块中使用该目录。只需将所有属性文件放在资源文件夹下的web或i18n中,无论你想要什么。然后在xml中为messageSource创建一个bean。

现在,您可以使用@Component注释在jar模块中定义类,并且您可以拥有ReloadableResourceBundleMessageSource类型的@Autowired字段。

我认为这会解决您的疑问。欢呼声。