Spring-Beanの定義
アプリケーションのバックボーンを形成し、SpringIoCコンテナーによって管理されるオブジェクトは呼び出されます beans。Beanは、Spring IoCコンテナーによってインスタンス化、アセンブル、またはその他の方法で管理されるオブジェクトです。これらのBeanは、コンテナーに提供する構成メタデータを使用して作成されます。たとえば、前の章ですでに見たXML <bean />定義の形式です。
Bean定義には、という情報が含まれています configuration metadata、これはコンテナが次のことを知るために必要です-
- Beanの作成方法
- Beanのライフサイクルの詳細
- Beanの依存関係
上記のすべての構成メタデータは、各Bean定義を構成する次のプロパティのセットに変換されます。
シニア番号 | プロパティと説明 |
---|---|
1 | class この属性は必須であり、Beanの作成に使用されるBeanクラスを指定します。 |
2 | name この属性は、Bean識別子を一意に指定します。XMLベースの構成メタデータでは、id属性やname属性、あるいはその両方を使用してBean識別子を指定します。 |
3 | scope この属性は、特定のBean定義から作成されたオブジェクトのスコープを指定します。これについては、Beanスコープの章で説明します。 |
4 | constructor-arg これは依存関係を注入するために使用され、後続の章で説明します。 |
5 | properties これは依存関係を注入するために使用され、後続の章で説明します。 |
6 | autowiring mode これは依存関係を注入するために使用され、後続の章で説明します。 |
7 | lazy-initialization mode 遅延初期化されたBeanは、起動時ではなく、最初に要求されたときにBeanインスタンスを作成するようにIoCコンテナーに指示します。 |
8 | initialization method Beanで必要なすべてのプロパティがコンテナによって設定された直後に呼び出されるコールバック。これについては、Beanのライフサイクルの章で説明します。 |
9 | destruction method Beanを含むコンテナが破棄されたときに使用されるコールバック。これについては、Beanのライフサイクルの章で説明します。 |
Spring構成メタデータ
Spring IoCコンテナーは、この構成メタデータが実際に書き込まれる形式から完全に切り離されています。以下は、SpringContainerに構成メタデータを提供するための3つの重要な方法です。
- XMLベースの構成ファイル。
- 注釈ベースの構成
- Javaベースの構成
XMLベースの構成メタデータがコンテナーに提供される方法についてはすでに説明しましたが、遅延初期化、初期化方法、破棄方法など、さまざまなBean定義を持つXMLベースの構成ファイルの別のサンプルを見てみましょう。
<?xml version = "1.0" encoding = "UTF-8"?>
<beans xmlns = "http://www.springframework.org/schema/beans"
xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation = "http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">
<!-- A simple bean definition -->
<bean id = "..." class = "...">
<!-- collaborators and configuration for this bean go here -->
</bean>
<!-- A bean definition with lazy init set on -->
<bean id = "..." class = "..." lazy-init = "true">
<!-- collaborators and configuration for this bean go here -->
</bean>
<!-- A bean definition with initialization method -->
<bean id = "..." class = "..." init-method = "...">
<!-- collaborators and configuration for this bean go here -->
</bean>
<!-- A bean definition with destruction method -->
<bean id = "..." class = "..." destroy-method = "...">
<!-- collaborators and configuration for this bean go here -->
</bean>
<!-- more bean definitions go here -->
</beans>
Spring Hello World Exampleをチェックして、Spring Beanを定義、構成、および作成する方法を理解できます。
注釈ベースの構成については、別の章で説明します。Spring Dependency Injection with Annotationsでプログラミングを開始する前に、他のいくつかの重要なSpringの概念を理解してほしいので、別の章で意図的に説明します。