我想知道Spring是否有类似于Struts2的属性文件机制,它首先在与控制器相同的包中查找属性文件,然后向上移动包结构,直到找到属性文件或属性。
我想为每个控制器定义一个属性文件,但如果可能的话,我宁愿不必将它们连接在一起。是否有一些可以遵循的约定将属性文件与控制器相关联?解析语言环境时,属性文件解析也应正常工作。
例如,如果我在几个prop文件中定义一个名为“title”的属性,我希望在JSP中根据哪个控制器处理请求来解析正确的属性。
ControllerA RETURNS ViewA USES PropA.title
ControllerB RETURNS ViewB USES PropB.title
我成功地将Property文件自动连接到控制器的Model属性并在JSP中显示值。我还能够在配置中指定ResourceBundleMessageSource,然后在JSP中显示它的值。
答案 0 :(得分:0)
开箱即用,不是我所知道的......但你可以很容易地写一个,如果这是你真正想要的!
Spring有像BeanFactoryPostProcessor这样的东西,它允许你用你的BeanFactory / ApplicationContext做这样的事情。我认为BeanFactoryPostProcessor在这里符合要求 - 你可以通过在类路径上查找属性文件,抓取属性并将它们应用于bean来“发布进程”bean。
我会这样说 - 春天通常意味着相当非侵入性。如果你想要这样的东西成为你设计的一部分,你可能想要想办法在纯Java中做到这一点,而不是使用Spring。例如,创建自己的工厂并单独实施和单元测试。要求您的应用使用此工厂来获取业务对象。
换句话说,你可以在Spring中做到 - 但它并不总是最好的方法。在你的情况下,听起来它听起来可能是最方便的,但我没有看到你设置的细节和位置。只是值得深思...... ..