2

我正在开发模块化 Spring 应用程序。它有几个模块。其中之一有两个子模块:webjar. 这些模块具有分离的消息属性基本名称。

第一个声明了带有 id 的 bean messageSource。我知道在应用程序中只能存在一个带有 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 来处理应用程序模块。

4

1 回答 1

-1

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

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

我认为这将解决您的查询。干杯。

于 2012-09-18T12:00:04.700 回答