タイプ別の春のオートワイヤリング
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]