1

我想创建一个新的 DateTimeFormatter 作为 bean,并将其交给另一个 bean。

这就是我在代码中的做法......

DateTimeFormatter formatter = DateTimeFormat.forPattern("blah");

但是如何在 Spring 中初始化格式化程序?

这是我在有用的回复的启发下提出的解决方案

<bean id="dateFormatter" class="org.joda.time.format.DateTimeFormat" factory-method="forPattern">
  <constructor-arg value="blah"/>
</bean>
4

1 回答 1

1

自从我使用 Spring 以来已经有一段时间了,但是这里有:

DateTimeFormatter不从接口扩展(我只找到了对 Joda 的引用),因此任何使用它的东西都必须准确地引用类型。这意味着您不会从依赖注入中获得任何好处(因为使用格式化程序的内容与格式化程序的确切类型紧密耦合)。所以你真的想这样做吗?

假设您这样做了,请从文档中查看第 4.3.2.2 节及以后的部分,它为您提供了创建 bean 的所有方法。您可以通过静态方法创建格式化程序,然后将其传递给使用它的构造函数(构造函数注入,第 4.4.1.1 节)

于 2012-05-30T00:16:40.560 回答