スプリングモジュール
まず、制御の反転(IOC)は何依存性注入は、何で、春にいくつかの注入依存性の様式があります
(IOCと略す制御の反転)制御の反転は、オブジェクト指向プログラミングの1つの設計原理は、コンピュータ・コードとの間の結合の程度を減少させるために使用することができます。
右は、容器を通して構成要素を組み立てた目的を達成し、管理するために、容器にプログラムコードによって操作されたオブジェクトを呼び出します。容器の外側にプログラムコード自体から転送された、いわゆる「制御の反転」、コンポーネントオブジェクトの制御の転送は、コンテナは、オブジェクトを作成し、オブジェクト間の依存関係を管理します。
最も一般的な方法は、依存性注入(DIと呼ばれる依存性注入)と呼ばれ、「依存ルック」と呼ばれる方法がある(依存関係検索)
依存性注入(DI)は、クラスはラインだけでこれらのクラスを使用する必要がある一方で、オブジェクトのバネ仕掛けのクラスアクティブなタスクの依存関係は、コンテナの原因であることがあるため、スプリングコアは、初期の逆依存性注入制御と呼ばれます
クラスは、モジュールテストを容易にするため、疎結合を実現するために、特定の実装に依存するオブジェクトを心配する必要はありません。
注入法:
コンストラクタ・インジェクション。
注入を設定します。
インタフェース注入。
二、Spring構成Beanは、いくつかの方法があります。
XMLベースの構成
注釈ベースの設定
Javaベースの構成
III。豆のライフサイクルの春。
Beanを作成し、インスタンス化される最初の必要性、及びその後ビーン名を設定する属性値を設定し、システムの初期化の一連の、Beanを使用してデストラクタ動作のために、提供することができる容器が閉じられたときに豆を破壊します。
春の文脈で参照されるBeanは、初期化処理であること、及びその後setApplicationContextメソッドを呼び出す場合、これは、単純な豆たBeanFactory組立工程です。
四、春の豆の役割。
単一の実施形態における豆のデフォルトスプリングの範囲、シングルトン。
プロトタイプ、およびシングルトン逆に、実施の形態の試作品が複数である、彼はそれぞれ別個のBeanのインスタンスを作成するために要求さ
いくつかの方法の第五に、自動組立春
1.NO、スプリングデフォルトフィッティング方法は、本実施形態では、ばねアセンブリ機能が自動的にオフにされます。
2.byName:ばねは自動的にオブジェクト名の同じインスタンスがエラーをビーン構成をbeanIdと自動的に注入、そうでない場合でしょう。
3、.byType:エラーがない場合、ばねは、自動的に同じ構成インスタンス豆とオブジェクトタイプを検出し、自動的に注入
4.constructor:豆コンストラクタパラメータタイプと一致し、容器内に見つからない場合に同様のパターンbyType自動組立およびコンストラクタが、唯一のコンストラクタにビーン同じ引数に適用され、それは例外をスローします。
5.autodetect:春自動的に構成された自動組立や試験byType autowire
第六に、たBeanFactoryとApplicationContextの違いについて話
たBeanFactoryをインスタンス化するインターフェイスの下で、彼は唯一の簡単な注入機能を提供することができ、ApplicationContextのは、提供するビジネスクラスのサービスの詳細です
違いは:getBeanを呼び出すコードを知っているローディングたBeanFactoryの遅延がある場合、Beanはばねアセンブリとなり、
ApplicationContextのプロジェクトの開始は、それがすべてのBeanをロードします。もちろん、インスタンス化を可能にするために怠惰-INIT =真のビーンビーン遅延として設定することができるのApplicationContext。
遅れの長所と短所の例
長所:比較優位を持っている比較的大きなフットプリントのアプリケーションのためのより少ないリソースを集中的に立ち上げ、。
短所:速度が比較的遅いです。そして、それはNULLポインタ例外エラーが発生することが可能であり、そしてプロジェクトが構成の問題Beanを見つけるために便利な豆をロードするために早く開始するとき。
Webアプリケーションは、すべての豆を入れて起動することが推奨されている場合、ロードされました。
業務を管理するための七つの.spring方法
プログラムによるトランザクション
宣言的トランザクション
2つのカテゴリに分類された宣言型トランザクション。
XMLベースの宣言的トランザクション
注釈ベースの宣言的トランザクション
どのような方法で春八の薬
図1は、それらが名目プロキシオブジェクトである場合、インプリメンテーションを発生するの実装をJDK java.long.reflect.proxy剤を用います。
利点。使用インターフェースなので、システムは、より疎結合作ります
欠点。あなたは、各ターゲットエージェントのための言い訳を記述する必要があります
2.プロキシオブジェクトは、サブクラス化するCGLIB対象オブジェクトを使用してJavaクラスライブラリである場合。
利点。インターフェイスするが必要とされていません
欠点。疎結合のインターフェイス良いの使用はありません
九、初期化プロセスIOCコンテナ
1.rescourseポジショニング。
2.ロード
3.登録
X. AOPの原則:ダイナミックプロキシ、リファレンス第8条の違い
宣言的トランザクションをサポートしている春のトランザクション管理フレームワークのXIの利点。
要約:
Springフレームワークの利点:
便利なデカップリング、開発を簡素化:
ばねが大きい工場で、すべてのオブジェクトは、(コードが侵襲性ではない)バネ管理に、依存関係を作成し、維持することができ
1.AOPプログラミングのサポート:
ばねは指向プログラミングを提供し、権限を傍受プログラムの実現、性能監視および(機能拡張のために)他の機能を容易にします
2.宣言型トランザクションのサポート:
あなただけが手動でプログラミングを必要とせずに、事務の構成管理を完了する必要があります
プログラムテストへの容易な3:
Junit4のための春は春の注釈便利なテストプログラムでサポートされています
優れたフレームワークの様々な容易な統合:
Javaベースのモジュール
それはあります