Beans Spring - comment câbler la valeur null comme un constructeur arg?
J'ai le texte suivant bean défini:
<bean id="myBean" class="com.me.myapp.Widget">
<constructor-arg name="fizz" value="null"/>
<constructor-arg name="buzz" ref="someOtherBean" />
</bean>
Quand je lance mon application, le Printemps lance un haricot config exception:
[java] Exception in thread "main" org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'myBean' defined in class path resource [spring-config.xml]:
Unsatisfied dependency expressed through constructor argument with index 0
of type [com.me.myapp.Widget]: Could not convert constructor argument value of
type [java.lang.String] to required type [com.me.myapp.Widget]: Failed to
convert value of type 'java.lang.String' to required type
'com.me.myapp.Widget'; nested exception is java.lang.IllegalStateException:
Cannot convert value of type [java.lang.String] to required
type [com.me.myapp.Widget]: no matching editors or conversion strategy found
Je veux juste créer un Widget
comme je le ferais si j'ai écrit la suite de Java:
Widget w = new Widget(null, someOtherBean);
Comment puis-je faire cela? Merci à l'avance!
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser le Printemps
<null>
tag:À la fois le printemps ne parvient pas à injecter les valeurs de la commande que vous avez mentionné dans un constructeur. Il est préférable si vous essayez explicite de la commande, c'est à dire
c'était, en fait, pas de travail pour moi,
donc ce que j'ai fait est, pas passage de l'objet à travers le printemps,
mais de se demander "si l'objet est null", et de créer un Nouvel objet et de l'attribuer à elle,
il est également fait une fois (similaire à celle du printemps),
la différence est que, ce n'est pas la meilleur la pratique, et la création point de l'objet est dans le flux de la classe, et pas au début de la scène.