SpringにおけるBeanの依存検査


Springは、プロファイルの依存注入が完全に有効であるかどうかを判断するために使用されてきたチェックに依存する機能を提供します.
有効な依存性は、属性に通常のタイプの値が必要な場合、Beanの定義に適切な値が設定されていることです.属性にjavaオブジェクトタイプの値が必要な場合は、自動アセンブリで有効な依存を提供するか、refでパートナーBeanに注入するか、要素でネストされたBeanを指定します.
使用後のチェックでBeanのプロパティが正しく設定されていることが保証されます.Beanの特定のプロパティに値を設定する必要がない場合や、一部のプロパティにデフォルト値がある場合、依存チェックを使用するとエラーが発生し、そのBeanは依存チェックを使用するべきではありません.
Springでは、Beanごとに依存チェックを個別に指定できます.Springでは、デフォルトでは依存チェックは行われません.dependency-checkで異なる依存チェックポリシーを指定できます.
1、none:依存チェックは行わず、デフォルトです.
2、Simple:基本タイプと集合(協力者Beanを除く)に対して依存検査を行う.
3、Objects:協力者Beanのみの依存検査.
4、All:協力者Bean、基本タイプ、集合をすべて依存検査する.
(1)、simple

<bean id="person" class="net.battier.pojo.Person"
		dependency-check="simple">
      Bean     ,   simple          
		<property name="personName" value="  "></property>
		<property name="personAge" value="18"></property>
		<property name="personSex" value="false"></property>
		<property name="personDesc" value="     "></property>
		<!--   org -->
		<property name="org" ref="organization"></property>
</bean>


(2)Objects

<!--   Bean 
	 dependency-check="simple": Bean             
	 dependency-check="objects":    Bean      
	-->
	<bean id="person" class="net.battier.pojo.Person"
		dependency-check="objects">
		<property name="id" value="1"></property>
		<property name="personName" value="  "></property>
		<property name="personAge" value="18"></property>
		<property name="personSex" value="false"></property>
		<property name="personDesc" value="     "></property>
		<!--   org(      ,          ) -->		
<property name="org" ref="organization"></property>
	</bean>


(3)All


	<!--   Bean 
	 dependency-check="simple": Bean             
	 dependency-check="objects":    Bean      
	 dependency-check="all":    Bean、             
	-->
	<bean id="person" class="net.battier.pojo.Person"
		dependency-check="all">
		<property name="id" value="1"></property>
		<property name="personName" value="  "></property>
		<property name="personAge" value="18"></property>
		<property name="personSex" value="false"></property>
		<property name="personDesc" value="     "></property>
		<!--   org(      ,          ) -->
		<property name="org" ref="organization"></property>
	</bean>


(4)None

<!--   Bean 
	 dependency-check="simple": Bean             
	 dependency-check="objects":    Bean      
	 dependency-check="all":    Bean、             
	 dependency-check="none":       (  )。
	-->
	<bean id="person" class="net.battier.pojo.Person"
		dependency-check="none">
		<property name="id" value="1"></property>
		<property name="personName" value="  "></property>
		<property name="personAge" value="18"></property>
		<property name="personSex" value="false"></property>
		<property name="personDesc" value="     "></property>
		<!--   org(      ,       ) -->
		<property name="org" ref="organization"></property>
	</bean>