Springの容器
4375 ワード
Springには2つのコアのインターフェースがあります.BeanFactoryとApplication Contact textのうち、Appplication ContectはBenFactoryのサブインターフェースです.BenFactoryはスプリング容器の最も基本的なインターフェースです.
Spring容器はビーンのインスタンスを生成する工場であり、マネージャの中のビーンです.
BeanはSpring容器管理の基本単位であり、SpringベースのJavaEEアプリケーションでは、すべてのコンポーネントがBeanとして扱われ、データソース、HibernateのSession Factory、事務マネージャなどが含まれる.
BeanはSpring容器の中で動作し、Spring容器の存在を感じなくても、Bean属性の注入、協力者の注入、依存関係の注入などを含むSpring依存注入を受けることができます.
Spring容器は、各Benの実装クラスを正確に知ることができる必要がありますので、Springプロファイルは、Benのインスタンスの実装クラスを正確に構成しなければなりません.
ビーンFactoryは、ビーンとビーンの間の依存関係を管理するための配置、作成、管理を担当しています.
1.bootlean containsBean(String name):Spring容器がidを含むかどうかを判断するビーンの例
2.T getBeam(Class<T>requiredType):Spring容器の中でrequiredTypeタイプに属する唯一のBeanの例を取得する.
3.Object getBen(String name):容器に戻るidがnameであるBeanの例
4.T getBen(String name,class requiredType):容器に戻るidはname、そしてタイプはrequiredTypeのBeanです.
5.クラスgetType(String name):容器に戻ってビーンのインスタンスを指定するタイプ
BenFactoryは一般的な実現クラスorg.springframe ebook.beans.factory.xml.XMLBenFactory類があります.
Apple ContectはBeanFactoryのサブインターフェースです.
よく使う実現類FileSystemXmlAppliation Contect、Class PathXml Appliation Contectと
AnnotationfigApple Comptext
webアプリケーションでSpring容器を使うと、Xml WebAppliation Controtext、AnnotationConfigWebAppliation Comptextがあります.
Spring容器を作成する場合は、レスポンスポートを通してxmlプロファイルに入る必要があります.
FileSystemXmlAppliation Contect ファイルシステムに基づくXMLプロファイルでAppplication Contectの例を作成します.
Class pathXml Apple Comptext クラスローディングパス下のXMLプロファイルでAppplication Contectの例を作成します.
Springプロファイルのルート要素は、0から複数のサブ要素を受け入れることができ、各サブ要素は、ビームの一例を構成する.
...
-->
Spring容器はビーンのインスタンスを生成する工場であり、マネージャの中のビーンです.
BeanはSpring容器管理の基本単位であり、SpringベースのJavaEEアプリケーションでは、すべてのコンポーネントがBeanとして扱われ、データソース、HibernateのSession Factory、事務マネージャなどが含まれる.
BeanはSpring容器の中で動作し、Spring容器の存在を感じなくても、Bean属性の注入、協力者の注入、依存関係の注入などを含むSpring依存注入を受けることができます.
Spring容器は、各Benの実装クラスを正確に知ることができる必要がありますので、Springプロファイルは、Benのインスタンスの実装クラスを正確に構成しなければなりません.
ビーンFactoryは、ビーンとビーンの間の依存関係を管理するための配置、作成、管理を担当しています.
1.bootlean containsBean(String name):Spring容器がidを含むかどうかを判断するビーンの例
2.
3.Object getBen(String name):容器に戻るidがnameであるBeanの例
4.
5.クラスgetType(String name):容器に戻ってビーンのインスタンスを指定するタイプ
BenFactoryは一般的な実現クラスorg.springframe ebook.beans.factory.xml.XMLBenFactory類があります.
Apple ContectはBeanFactoryのサブインターフェースです.
よく使う実現類FileSystemXmlAppliation Contect、Class PathXml Appliation Contectと
AnnotationfigApple Comptext
webアプリケーションでSpring容器を使うと、Xml WebAppliation Controtext、AnnotationConfigWebAppliation Comptextがあります.
Spring容器を作成する場合は、レスポンスポートを通してxmlプロファイルに入る必要があります.
// beans.xml Resource
InputStreamResource isr = new FileSystemResource("bean.xml");
// Resource , BeanFactory
XmlBeanFactory factory = new XmlBeanFactory(isr);
// , beans.xml Resource
ClassPathResource res = new ClassPathResource("beans.xml");
// Resource , BeanFactory
XmlBeanFactory factory = new XmlBeanFactory(res);
アプリケーションに複数の属性構成ファイルがある場合は、BenFactoryのサブインターフェースAppplication Contactを用いてBenFactoryのインスタンスを作成するべきである.Application Comptextは通常次のような実装クラスを使用します.FileSystemXmlAppliation Contect ファイルシステムに基づくXMLプロファイルでAppplication Contectの例を作成します.
Class pathXml Apple Comptext クラスローディングパス下のXMLプロファイルでAppplication Contectの例を作成します.
// CLASSPATH , CLASSPATH applicationContext.xml
//bean.xml service.xml ApplicationContext
ApplicationContext appContext = new ClassPathXmlApplicationContext(new String[]{"bean.xml","service.xml"});
// bean.xml service.xml ApplicationContext
ApplicationContext appContext = new FileSystemXmlApplicationContext(new String[]{"bean.xml","service.xml"});
必要があれば、Apple ContectのインスタンスをBenFactory変数に割り当てることもできます.Springプロファイルのルート要素は、0から複数の
<?xml version="1.0" encoding="UTF-8"?>
<!-- Spring , spring-beans-3.0.xsd -->
<beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
<pre name="code" class="html"><?xml version="1.0" encoding="GBK"?>
<!-- Spring DTD -->
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN 2.0//EN"
"http://www.springframework.org/dtd/spring-beans-2.0.dtd">
<!-- Spring -->
<beans>
...
<beans/>
xmlns="http://www.springframework.org/schema/beans"xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans-3.0.xsd"