你有两种可能性:
- 静态属性/字段的非静态设置器;
- 通过org.springframework.beans.factory.config.MethodInvokingFactoryBean调用静态的制定者。
在第一个选项中,你有一个带有常规setter的bean,但设置实例属性的是设置静态属性/字段。
public void setTheProperty(Object value) { foo.bar.Class.STATIC_VALUE = value;}但是为了做到这一点,你需要有一个将实例化此setter的bean实例(它更像一个变通方法)。
在第二种情况下,将执行以下操作:
<bean > <property name="staticMethod" value="foo.bar.Class.setTheProperty"/> <property name="arguments"> <list> <ref bean="theProperty"/> </list> </property></bean>
根据你的情况,你将在Utils课程上添加一个新的二传手:
public static setDatabaseAttr(Properties p)
并且在你的上下文中,你将使用上述示例性方法对其进行配置,大致类似:
<bean > <property name="staticMethod" value="foo.bar.Utils.setDatabaseAttr"/> <property name="arguments"> <list> <ref bean="databaseAttr"/> </list> </property></bean>



