Vous ne pouvez pas câbler automatiquement les propriétés statiques dans Spring, les champs statiques sont instanciés pendant le chargement de la classe car ils sont les propriétés de la classe alors que les attributs câblés automatiquement fonctionnent après que Spring initialise les beans. Bien que vous puissiez utiliser MethodInvokingFactoryBean
à Spring pour obtenir ce que vous vouliez. Un exemple serait en XML comme ci-dessous
<bean class="org.springframework.beans.factory.config.MethodInvokingFactoryBean">
<property name="staticMethod" value="foo.bar.Class.setTheProperty"/>
<property name="arguments">
<list>
<ref bean="theProperty"/>
</list>
</property>
</bean>
Editer :- sans XML dans votre @Configuration
classe faire
@Bean
public MethodInvokingFactoryBean methodInvokingFactoryBean() {
MethodInvokingFactoryBean methodInvokingFactoryBean = new MethodInvokingFactoryBean();
methodInvokingFactoryBean.setStaticMethod("MyClass.staticMethod");
return methodInvokingFactoryBean;
}
faites-moi savoir si vous avez besoin de plus d'aide.