Pages

jeudi 23 mai 2013

How To Inject Null Value In Spring

In Spring, you can uses this special <null /> tag to pass a “null” value into constructor argument or property.

1. Constructor Argument

The wrong way to inject a null into constructor argument, a really common mistake, and nice try :)

  <bean id="defaultMongoTypeMapper1"
	 class="org.springframework.data.mongodb.core.convert.DefaultMongoTypeMapper">
	 <constructor-arg name="typeKey" value="null" />
  </bean>
Correct way.
  <bean id="defaultMongoTypeMapper"
	class="org.springframework.data.mongodb.core.convert.DefaultMongoTypeMapper">
	<constructor-arg name="typeKey">
		<null />
	</constructor-arg>
  </bean>
2. Property
The wrong way to inject null value into property.
  <bean id="myConverter"
	class="com.mkyong.convert.MoneyConverter">
	<property name="typeMapper" value="null" />
  </bean>
Correct way.
  <bean id="myConverter"
	class="com.mkyong.convert.MoneyConverter">
	<property name="typeMapper"><null/></property>
  </bean>

0 commentaires:

Enregistrer un commentaire