我正在开发模块化Spring应用程序。它有几个模块。其中一个有两个子模块:web
和jar
。这些模块具有独立的消息属性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来处理应用程序模块。
答案 0 :(得分:-1)
据我所知,您的应用程序中不需要两个单独的属性文件。您可以为属性文件创建一个目录,并可以在所有模块中使用该目录。只需将所有属性文件放在资源文件夹下的web或i18n中,无论你想要什么。然后在xml中为messageSource创建一个bean。
现在,您可以使用@Component注释在jar模块中定义类,并且您可以拥有ReloadableResourceBundleMessageSource类型的@Autowired字段。
我认为这会解决您的疑问。欢呼声。