Spring-bean-definition
春-Beanの定義
アプリケーションのバックボーンを形成し、Spring IoCコンテナによって管理されるオブジェクトは beans と呼ばれます。 Beanは、Spring IoCコンテナーによってインスタンス化、アセンブル、または管理されるオブジェクトです。 これらのBeanは、コンテナに提供する構成メタデータを使用して作成されます。 たとえば、前の章ですでに見たXML <bean/>定義の形式。
Beanの定義には、コンテナが次のことを知るために必要な*構成メタデータ*と呼ばれる情報が含まれています-
- Beanの作成方法
- Beanのライフサイクルの詳細 *Beanの依存関係
上記のすべての構成メタデータは、各Bean定義を構成する次のプロパティのセットに変換されます。
Sr.No. | Properties & Description |
---|---|
1 |
この属性は必須であり、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コンテナーは、この構成メタデータが実際に書き込まれる形式から完全に切り離されています。 以下は、Spring Containerに構成メタデータを提供する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>
link:/spring/spring hello world example [Spring Hello World Example]をチェックして、Spring Beanの定義、構成、作成方法を理解できます。
別の章で注釈ベースの構成について説明します。 Spring Dependency Injection with Annotationsでプログラミングを開始する前に、他のいくつかの重要なSpringの概念を把握してほしいので、別の章で意図的に説明します。