タイプ別の春のオートワイヤリング
Springでは、 ”
by Autowiring by Type
“は、Beanのデータ型が他のBeanプロパティのデータ型と互換性がある場合、それを自動配線することを意味します。
例えば、 “person” Beanはデータ型が “ability”クラスのプロパティを公開し、Springはクラス “ability”と同じデータ型のBeanを見つけて自動的に配線します。一致が見つからない場合は、何もしないでください。
この機能を有効にするには、以下のように `autowire =” byType “`を実行します:
<!-- person has a property type of class "ability" --> <bean id="person" class="com.mkyong.common.Person" autowire="byType"/> <bean id="invisible" class="com.mkyong.common.Ability" > <property name="skill" value="Invisible"/> </bean>
タイプ別のスプリング自動配線の完全な例を参照してください。
1.ビーンズ
2つの豆、人と能力。
package com.mkyong.common; public class Person { private Ability ability; //... }
package com.mkyong.common; public class Ability { private String skill; //... }
2.スプリング配線
通常、Beanを明示的に配線します。
<bean id="person" class="com.mkyong.common.Person"> <property name="ability" ref="invisible"/> </bean> <bean id="invisible" class="com.mkyong.common.Ability" > <property name="skill" value="Invisible"/> </bean>
出力
Person[ability=Ability[skill=Invisible]].... ** autowireをタイプ** で有効にすると、能力プロパティを未設定のままにすることができます。 Springは同じデータ型を見つけ、自動的に配線します。
<bean id="person" class="com.mkyong.common.Person" autowire="byType"/>
<bean id="invisible" class="com.mkyong.common.Ability" > <property name="skill" value="Invisible"/> </bean>
__出力__
Person[ability=Ability[skill=Invisible]]….
あなたがクラス “能力”の同じデータ型を持つ2つの豆を持っていればどうでしょうか?
<bean id="person" class="com.mkyong.common.Person" autowire="byType"/> <bean id="steal" class="com.mkyong.common.Ability" > <property name="skill" value="Steal"/> </bean> <bean id="invisible" class="com.mkyong.common.Ability" > <property name="skill" value="Invisible"/> </bean>
出力
Exception in thread "main" org.springframework.beans.factory.UnsatisfiedDependencyException: ... タイプ[com.mkyong.common.Ability]の一意のBeanは定義されていません。 予想される単一の一致するBeanが見つかりましたが、2:[steal、invisible]。入れ子にされた例外は org.springframework.beans.factory.NoSuchBeanDefinitionException: タイプ[com.mkyong.common.Ability]の一意のBeanは定義されていません。 予想される単一の一致するBeanが見つかりましたが、2:[steal、invisible].... この場合、 `UnsatisfiedDependencyException`エラーが発生します メッセージ。 ** 注** + タイプモードによるオートワイヤリングでは、 Beanのデータ型が宣言されます。 ===ソースコードをダウンロードする それをダウンロードする - link://wp-content/uploads/2011/06/Spring-AutoWiring-by-Type-Example.zip[Spring-AutoWiring-by-Type-Example.zip](6 KB) link://tag/spring/[spring]link://タグ/wiring/[wiring]