Printemps: constructeur injection de valeurs primitives (propriétés) avec l'annotation en fonction de la configuration

Je suis en train de configurer une classe avec l'Annotation en fonction de la configuration de Spring 3, qui prend des valeurs primitives comme des arguments du constructeur:

@Component
class MyBean {
  MyBean(String arg1, String arg2) {
    //...
  }
}

Et un contexte d'application comme ceci:

<beans [...]>
  <context:component-scan base-package="com.example" />
  <context:property-override location="/WEB-INF/example.properties" />
</beans>

J'essaie de trouver un moyen de spécifier que les arguments du constructeur doivent être prises à partir du fichier de propriétés. Apparemment, cela ne fonctionne pas avec les constructeurs qui prennent régulièrement de haricots (par exemple MyClass(Bean bean1, OtherBean bean2)), mais seulement des propriétés?

J'ai aussi essayé en annotant les arguments du constructeur avec le Printemps 3 @Value d'annotation et d'une expression EL de la valeur, comme @Value("#{prop.Prop1}") arg1, mais cela ne semble pas fonctionner non plus.

OriginalL'auteur Martin Probst | 2010-02-21