、Springフレームワークの全体的に、様々な部品
1.Springコアコンテナ
豆及びコアモジュールは、IoCの(反転制御)と依存性注入特性を提供する、フレームの基本的な部分です。ここでの基本的な考え方は、プログラムのシングルトンの必要性を排除するために古典的なFactoryパターンを提供し、コンフィギュレーションから、あなたは本当に離れ依存関係とプログラムロジックができたBeanFactoryであり、
1.1コア
スプリングフレームワークは主に他のコンポーネントがこのパッケージにスプリングクラスで使用されるように、基本的なコアツールが含まれ、コアモジュールは、他のコンポーネントの基本的なコアです。
1.2ビーンズ
これは、コンフィギュレーションファイルへのアクセスが含まれ、豆だけでなく、すべてのクラスに関連したコントロールI依存性の注入(IOC / DI)操作の反転を作成および管理します
1.3コンテキスト
金型は、コア及び豆モジュールに基づいて構築されているコンテキスト・モジュールは、豆のプロパティを継承し、スプリングは、コアへの拡張の数を提供する国際(例えば、リソースバンドル)のサポートを追加し、イベント伝播、リソースローディングとコンテキストの透明作成サポート。キーコンテキストモジュールはまた、ApplicationContextのインターフェイスは、コンテキストモジュールで、J2EEの機能の一部をサポートしています
BeanFacotryとApplicationContextの本質的な違い:( BeanFacotry Beanが遅延をロードするために使用され、遅延のApplicationContextは無負荷)
1.4式言語
モジュールは、実行時にオブジェクトを照会し、操作するための強力な表現言語を提供します。これは仕様で定義されたJSP 2.1 unifed式言語の拡張機能です。直/取得プロパティ値、分布の属性、(アレイのコンテキストをaccessiong)配列コンテキストにアクセスするための方法、容器およびインデクサ、論理および算術演算子、名前付き変数とし、スプリングのIoCコンテナからサポート言語を呼び出します名前でオブジェクトを取り出します。また、プロジェクターリスト、選択リストと一般的な重合をサポートしています
2.Springデータアクセス/統合
2.1)JDBC
モジュールは、JDBC抽象化レイヤを提供し、それは特定のデータベースベンダのエラーコード退屈なJDBCコーディングおよび解析を排除することができます。このモジュールは、カプセル化されたJDBC上のすべてのクラスのSpringのデータ・アクセスが含まれている
リレーショナルマッピングAPI、 - 2.2)ORMモジュールの人気のオブジェクト
などJPA、JDO、Hibernateは、iBatisのように、対話型の層を提供することを。ORMパッケージを使用して、それが春のO / Rマッピング先に述べたように、単純な宣言的トランザクション管理機能によって提供されるすべての特性と混合することができます。
2.3)OXMモジュールは、抽象化レイヤ一対ObjecνXMLマッピングの実装を提供し、オブジェクト/ XMLマッピングの実装はJAXB、ヒマシ油、XMLBeansでは、JiBXのとXStrearn含む
2.4)JMS(Javaのメッセージング・サービス)
モジュールは、主に、メッセージのいくつかの特徴的な製造及び消費を含んでいます。
2.5)トランザクション
のサポートのプログラミングと宣言型トランザクション管理は、これらの問題は、特定のインターフェイスを実装し、すべてのPOJOに適用されなければなりません
3.Springウェブ
Webモジュール:例えばベースウェブ指向の統合機能cを提供するファイルのアップロード、Webアプリケーション及びコンテキストのサーブレット・リスナーを使用して、IoCコンテナを初期化します。また、春のWebリモートサポートの関連する部分を含んでいます
4.Spring AOP
4.1)側面モジュールはAspectJの者のための統合サポートを提供します。
4.2)計測モジュールは、特定のアプリケーションサーバ上で使用することが可能となる、達成クラス計装サポートとクラスローダを提供します
5.テスト
テストモジュールは、ばね用のJUnitとTestNGのテストコンポーネントの使用をサポート
二、春には、図のコンテナを継承します
どのたBeanFactory、ApplicationContextの、ClassPathXmlApplicationContextに焦点を当て価値
第三に、核となるアイデアはないリソースの管理の両方のリソースを使用して、多くの利益をもたらすことができ、リソースの使用なしに第三者によって管理により、IOCを置くことです。
まず、資源の集中管理は、設定可能な、管理が容易な資源。第二に、両者の間の資源依存の使用を減らすこと、つまり、私たちは言うの結合度
でアノテート四、春IOCの容器底部
1.設定豆
最初の方法:
<?XMLバージョン= "1.0"エンコード= "GBK" ?> < 豆のxmlns:XSI = "http://www.w3.org/2001/XMLSchema-instance" のxmlns = "http://www.springframework.org/schema /豆」 XSI:のschemaLocation = "http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd" > <! - 指定クラス属性、通过构造方法创建豆实例- > < 豆ID = "人" クラス= "com.mao.gouzao.Person" > </ 豆> </ 豆>
パブリック 静的 ボイドメイン(文字列[]引数) { ClassPathXmlApplicationContext CTX = 新しい ClassPathXmlApplicationContext( "beans.xmlの" )。 System.out.println(ctx.getBean( "人物" )); }
第二の方法:
@Configuration パブリック クラスMainConfig { @Bean 公共人物人物(){ 返す 新しい)(人を。 } }
注:フォーム@Beanは、単語の使用で、@Bean(値=「Bean名」)が指定されたBeanの名前である場合豆デフォルト名は、メソッド名
コンテナ読むには豆の情報(入ってくるクラス構成を)
パブリック 静的 ボイドメイン(文字列[]引数) { AnnotationConfigApplicationContext CTX = 新しい AnnotationConfigApplicationContext(MainConfig。クラス)。 System.out.println(ctx.getBean( "人物" )); }
継続するには....