1

我想知道 Spring 是否具有类似于 Struts2 的属性文件机制,它首先在与控制器相同的包中查找属性文件,然后向上移动包结构,直到找到属性文件或属性。

我想为每个控制器定义一个属性文件,但如果可能的话,我宁愿不必将它们连接在一起。是否有一些可以遵循的约定将属性文件与控制器相关联?解析语言环境时,属性文件解析也应该正常工作。

例如,如果我在几个 prop 文件中定义了一个名为“title”的属性,我希望根据处理请求的控制器在 JSP 中解析正确的属性。

ControllerA RETURNS ViewA USES PropA.title

ControllerB RETURNS ViewB USES PropB.title

我成功地将属性文件自动连接到控制器的模型属性并在 JSP 中显示值。我还能够在配置中指定 ResourceBundleMessageSource,然后在 JSP 中显示其中的值。

4

1 回答 1

0

开箱即用,不是我所知道的......但你可以很容易地写一个,如果那是你真正想要的!

Spring 有像 BeanFactoryPostProcessor 这样的东西,它可以让你用你的 BeanFactory/ApplicationContext 做这样的事情。我认为 BeanFactoryPostProcessor 适合这里的账单 - 您可以通过在类路径上查找属性文件、获取属性并将它们应用到 bean 来“后处理”一个 bean。

不过我会这么说——春天通常意味着相当无创。如果你想让这样的东西成为你设计的一部分,你可能想想办法在纯 Java 中做到这一点,而不是使用 Spring。例如,创建自己的工厂并分别实现和单元测试。要求您的应用程序使用此工厂来获取您的业务对象。

换句话说,您可能可以在 Spring 中做到这一点——但这并不总是最好的方法。在您的情况下,这听起来确实是最方便的,但我还没有看到您正在设置的内容和位置的详细信息。只是思想的食物..

于 2012-05-20T03:40:25.640 回答