JAva web学習(進級編)四Springでの構成
1 Beansオートアセンブリ
前に、beanを宣言するために要素を使用する方法と、XMLプロファイル内の要素を使用して注入する方法について説明しました.Springコンテナは、これらの要素を使用しないで、相互に協力するbean間の関係を自動的に組み立てることができ、SpringベースのアプリケーションのXML構成の数を減らすのに役立ちます.
自動アセンブリモード
次の自動アセンブリモードは、Springコンテナが自動アセンブリを使用して依存注入を行うことを示すために使用できます.要素のautowireプロパティを使用して、beanの自動アセンブリモードを指定できます.
を選択します.
説明
no
デフォルトの設定は、自動アセンブリがないことを意味し、明示的なbeanリファレンスを使用してワイヤを接続します.
byName
属性名によって自動的にアセンブリされます.Springコンテナでは、XMLプロファイルのbeanの自動アセンブリのプロパティがbyNameに設定されているのが表示されます.次に一致を試み、プロファイルで同じ名前で定義されているbeansのプロパティに接続します.
byType
属性データ型によって自動的にアセンブリされます.Springコンテナでは、XMLプロファイルのbeanの自動アセンブリのプロパティがbyTypeに設定されているのが表示されます.プロファイル内の適切なbean名にタイプが一致する場合、プロパティのタイプと接続を試みます.このようなbeanが1つ以上存在すると、致命的な異常が投げ出されます.
constructor
コンストラクション関数によって自動的にアセンブリされ、byTypeと非常に似ていますが、コンストラクション関数パラメータタイプに適しています.コンテナにコンストラクション関数パラメータタイプのbeanが1つもない場合、致命的なエラーが発生します.
autodetect
Springはまずconstructorで自動アセンブリを使用して接続を試み、実行しない場合はbyTypeで自動アセンブリを試みます.byTypeまたはconstructor自動アセンブリモードを使用して、配列と他のタイプのセットを接続できます.
byTypeまたはconstructor自動アセンブリモードを使用して、配列と他のタイプのセットを接続できます.
自動アセンブリの限界
自動アセンブリが常に同じプロジェクトで使用される場合、その効果が最も優れています.自動アセンブリを使用しない場合は、開発者が1つまたは2つのbean定義のみを接続するために混同する可能性があります.自動アセンブリは、指定するプロパティまたはコンストラクタパラメータを大幅に削減できますが、自動アセンブリの限界と欠点を考慮して使用する必要があります.
制限
説明
書き換えの可能性
依存関係を指定するには、自動アセンブリを常に書き換えるおよび設定を使用します.
元のデータ型
単純なタイプとは、基本タイプ、文字列、クラスを含む自動アセンブリはできません.
混乱の本質
自動アセンブリは明示的アセンブリよりも正確ではないので、可能な限り明示的アセンブリを使用します.
2注記ベースの構成
Spring 2.5から注記を使用して依存注入を構成できます.XMLを用いてbean配線を記述するのではなく.関連クラス、メソッド、またはフィールド宣言の注釈を使用して、bean構成をコンポーネントクラス自体に移動できます.
XML注入の前に注釈注入を行うため,後者の構成は2つの方式の属性線で前者に書き換えられる.注記コネクタは、Springコンテナでは既定では開かれません.したがって、注記ベースのワイヤを使用する前に、Springプロファイルで有効にする必要があります.Springアプリケーションで使用したい注釈は、次の構成を考慮してください.
構成後、Springがプロパティ、メソッド、コンストラクション関数に値を自動的に接続する必要があることを示す注釈コードを開始できます.
いくつかの重要な注記:
シーケンス番号
注記&説明
@Required
beanプロパティに適用するsetterメソッド
@Autowired
beanプロパティに適用されるsetterメソッド、非setterメソッド、構造関数とプロパティ
@Qualifier
接続されるbean,@Autowired,@Qualifier注記を指定することで、混乱を削除できます.
JSR-250 Annotations
@Resource,@PostConstruct,@PreDestroy注記を含む
3 Javaベースの構成
前述したXML構成の使用を熟知している場合は、Javaベースの構成方法を学ぶ必要はありません.同じ結果を達成するには、他の使用可能な構成を使用することができます.Javaベースの構成オプションでは、XMLを構成せずにほとんどのSpringを記述できます.Javaベースの注釈に役立つものがあります.
@Configurationの注記クラスは、このクラスがbean定義のソースとしてSpring IoCコンテナを使用できることを示します.
@Bean注記はSpringに、@Bean付き注記メソッドがSpringアプリケーションコンテキストに登録されているbeanとして登録されるオブジェクトを返すことを示します.
@import注記では、別の構成クラスから@Bean定義をロードできます.
Javaベースの構成は簡単に説明しますが、XMLで構成することをお勧めします.これに興味があれば、自分で関連資料を調べることができます.
前に、beanを宣言するために要素を使用する方法と、XMLプロファイル内の要素を使用して注入する方法について説明しました.Springコンテナは、これらの要素を使用しないで、相互に協力するbean間の関係を自動的に組み立てることができ、SpringベースのアプリケーションのXML構成の数を減らすのに役立ちます.
自動アセンブリモード
次の自動アセンブリモードは、Springコンテナが自動アセンブリを使用して依存注入を行うことを示すために使用できます.要素のautowireプロパティを使用して、beanの自動アセンブリモードを指定できます.
を選択します.
説明
no
デフォルトの設定は、自動アセンブリがないことを意味し、明示的なbeanリファレンスを使用してワイヤを接続します.
byName
属性名によって自動的にアセンブリされます.Springコンテナでは、XMLプロファイルのbeanの自動アセンブリのプロパティがbyNameに設定されているのが表示されます.次に一致を試み、プロファイルで同じ名前で定義されているbeansのプロパティに接続します.
byType
属性データ型によって自動的にアセンブリされます.Springコンテナでは、XMLプロファイルのbeanの自動アセンブリのプロパティがbyTypeに設定されているのが表示されます.プロファイル内の適切なbean名にタイプが一致する場合、プロパティのタイプと接続を試みます.このようなbeanが1つ以上存在すると、致命的な異常が投げ出されます.
constructor
コンストラクション関数によって自動的にアセンブリされ、byTypeと非常に似ていますが、コンストラクション関数パラメータタイプに適しています.コンテナにコンストラクション関数パラメータタイプのbeanが1つもない場合、致命的なエラーが発生します.
autodetect
Springはまずconstructorで自動アセンブリを使用して接続を試み、実行しない場合はbyTypeで自動アセンブリを試みます.byTypeまたはconstructor自動アセンブリモードを使用して、配列と他のタイプのセットを接続できます.
byTypeまたはconstructor自動アセンブリモードを使用して、配列と他のタイプのセットを接続できます.
自動アセンブリの限界
自動アセンブリが常に同じプロジェクトで使用される場合、その効果が最も優れています.自動アセンブリを使用しない場合は、開発者が1つまたは2つのbean定義のみを接続するために混同する可能性があります.自動アセンブリは、指定するプロパティまたはコンストラクタパラメータを大幅に削減できますが、自動アセンブリの限界と欠点を考慮して使用する必要があります.
制限
説明
書き換えの可能性
依存関係を指定するには、自動アセンブリを常に書き換える
元のデータ型
単純なタイプとは、基本タイプ、文字列、クラスを含む自動アセンブリはできません.
混乱の本質
自動アセンブリは明示的アセンブリよりも正確ではないので、可能な限り明示的アセンブリを使用します.
2注記ベースの構成
Spring 2.5から注記を使用して依存注入を構成できます.XMLを用いてbean配線を記述するのではなく.関連クラス、メソッド、またはフィールド宣言の注釈を使用して、bean構成をコンポーネントクラス自体に移動できます.
XML注入の前に注釈注入を行うため,後者の構成は2つの方式の属性線で前者に書き換えられる.注記コネクタは、Springコンテナでは既定では開かれません.したがって、注記ベースのワイヤを使用する前に、Springプロファイルで有効にする必要があります.Springアプリケーションで使用したい注釈は、次の構成を考慮してください.
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd">
<context:annotation-config/>
<!-- bean definitions go here -->
</beans>
構成後、Springがプロパティ、メソッド、コンストラクション関数に値を自動的に接続する必要があることを示す注釈コードを開始できます.
いくつかの重要な注記:
シーケンス番号
注記&説明
@Required
beanプロパティに適用するsetterメソッド
@Autowired
beanプロパティに適用されるsetterメソッド、非setterメソッド、構造関数とプロパティ
@Qualifier
接続されるbean,@Autowired,@Qualifier注記を指定することで、混乱を削除できます.
JSR-250 Annotations
@Resource,@PostConstruct,@PreDestroy注記を含む
3 Javaベースの構成
前述したXML構成の使用を熟知している場合は、Javaベースの構成方法を学ぶ必要はありません.同じ結果を達成するには、他の使用可能な構成を使用することができます.Javaベースの構成オプションでは、XMLを構成せずにほとんどのSpringを記述できます.Javaベースの注釈に役立つものがあります.
@Configurationの注記クラスは、このクラスがbean定義のソースとしてSpring IoCコンテナを使用できることを示します.
@Bean注記はSpringに、@Bean付き注記メソッドがSpringアプリケーションコンテキストに登録されているbeanとして登録されるオブジェクトを返すことを示します.
@import注記では、別の構成クラスから@Bean定義をロードできます.
Javaベースの構成は簡単に説明しますが、XMLで構成することをお勧めします.これに興味があれば、自分で関連資料を調べることができます.