- ApplicationContextたBeanFactoryインタフェースには、DIサービスに加えて、ApplicationContextのも業務、AOPサービス、国際化とその上を扱うニュースソースやアプリケーションイベントを提供して,,を拡張したものです。
- <コンテキスト:コンポーネントスキャン>タグは、コントローラ@、コンポーネント@使用見つけるためにスプリングスキャンコードを伝え、Serivice、@リポジトリアノテーション注入豆@、ならびに所与のパッケージでAutowired @の使用をサポートし、注入する@、@リソースアノテーション豆。
- @Configuration注釈クラスが設定クラスを指定するために使用され、方法は、注釈@Beanこのタイプのに使用することができます。
- 注釈を@ComponentScanningは、Javaクラスの構成であり、そして<文脈:コンポーネント・スキャン>同様タグ。
- @Autowired注釈バネが設けられており、Autowiredが必要な依存関係を埋めるためにリフレクションを使用しています@; JDK @Resourceアノテーションは細かいDIの名前パラメータの要件をサポートするために、来るそのものです。
- @Serviceはサービス@注釈付きクラスがアプリケーション内の他の層にビジネス・サービスを提供している示し、@Componentの特殊なケースです。
- 方法を探す(検索メソッド・インジェクション)@Lookup注入作業は、単一のcase文の方法を見つけることであることを返すビーン非シングルトンのインスタンス。CGLIBばね動的このメソッドをオーバーライドするクラスのオブジェクトのサブクラスを生成するために使用されます。
- インタフェースによって実装あるいはMethodReplacer方法は、対象の任意の方法を置き換え、それが実際にCGLIB実施形態を用いています。
- @Autowiredは@Qualifier注釈指定し、特定のBean名を注入しました。
- ビーンは、命名規則:BeanのセットID、Bean名IDを、ノーID、name属性のスプリングルックス(名前が複数の名前に設定することができ、最初の値)場合は、idとname属性が設定されていない場合は、名前のようにクラス名でしょう。
- このようfooとsuperfooなどの2人の異なる豆のプロジェクトの名前が、同じクラスの使用がある場合、あなたはsuperfoo変更FOOを引用したい場合、あなたはsuperfoo Beanを削除することができ、その後、fooという名前の後ろにエイリアスsuperfooを追加します。
- デフォルトでは、すべてのスプリングBeanは単一の実施形態であり、使用することができる範囲は、プロトタイプ(原型パターン)等が設定されています。
- 各アプリケーション・プログラムを表すプロトタイプ(原型パターン)スプリングは、Beanインスタンスは、Beanの新しいインスタンスをインスタンス化要求します。
- 単一の例を選択するとき:
- 共有オブジェクトの状態ません。
- 唯一の共有オブジェクトは、状態を読み出します。
- 共有状態の共有オブジェクトを持ちます。
- ハイスループット目標が書かれている状態(オブジェクトを作成するための多数のアプリケーションは、あなたが同期書き込みモード制御状態を使用することができます)
- 豆スコープの例
- スコープシングルトン
- プロトタイプスコープ
- Requestスコープ
- Sessionスコープ(セッションBeanのアクションとHTTPリクエスト)
- グローバルセッションスコープ
- スコープスレッド
- カスタムスコープ
- 場合豆XML構成注入シーケンスが初期化されていない豆、豆は別の注射によって行う場合を防ぐために、必要に応じて配置されました。
- XML構成注入は、注入が依存豆を配置することにより行うことができる場合にBeanが順序に従って構成されていない場合、依存豆正面によって指定されたフラグ(オン依存依存オン属性豆、豆依存事前作成豆の本実施例に先立ち良い)、私たちはAbeanは別のBbean、ApplicationContextAwareインタフェースを実装するAbean必要性に依存であることを確認するために注意を払う必要があります。
- ApplicationContextAwareインターフェイス特性は春のインターフェースを持って提供し、すべての豆Springコンテナが呼び出す、自動的setApplicationContextAware Beanの()メソッドを呼び出して、私たちは豆を実装ApplicationContextAwareインターフェースを見つけた場合、その後、春のコンテナがBeanを作成し、コンテナを検出します場合方法、自身が次の容器自体のApplicationContextインスタンス変数によってアクセスできるように、そのオブジェクトに割り当てながらメソッドへのパラメータとしてのApplicationContextインスタンス変数、プロセスをコール豆コンストラクタが完了した後であろう容器A。
- 豆自動組立は、XMLで自動組立モードautowire =「BYNAME」を構成することができます
- BYNAMEモード
- byType
- コンストラクタ
- デフォルトモード
- ノー
- Beanクラスは、2つの構成を有するため、それは、Bean(同じ名前の異なる種類)が優先的に使用設定されている一次ビーン設定フラグ、添加することができる;例えば、クラスA、XMLで構成された2つの豆、それぞれプライベート:A1、A2が、挿入されたコードの使用のBEANNAME aは、主ケースを使用して解決することができ、2つの満たす注入条件が発見されbyTypeにこのケースをデフォルト;
- 20例が発生するため、また、@Autowiredが@Qualifier注釈を指定し、特定のBean名を注入に使用することができます。
- INIT-方法、構成XMLで指定されたクラスの初期化を行う方法
- InitializingBeanインターフェイス、インターフェイスを得ることができる豆スプリング完了通知は、情報が全て豆スプリング得ることができる、すなわち、デフォルト値を設定または検出豆豆設定が正しいことができるように構成されています。
- @PostConstructアノテーションは、類似のinitメソッドの方法を適用しました
- @Bean(にinitMethod = "INIT")同様に、XML構成のinitメソッド
- 豆のロード順序
- まず、Beanを作成するためにコンストラクタを呼び出します
- 注依存関係(動員セッター)
- 今、Beanはすでに存在しているとの依存関係を提供し、事前に初期化された豆BeanPostProcessor制度的根拠は、彼らが豆から作成したタスクの何か(@PostConstructノート)を呼び出したいかどうかを確認するために照会されます
- InitializingBeanインタフェースは、注入直後の依存関係を行うためafterPropertiesSet()を実装します。
- 最後に、initメソッドプロパティの実装、それは豆の実際の初期化方法であるからです。
- BeanNameAwareインターフェース、インターフェース・クラスが実装するsetBeanName方法、値がこの方法のbeanNameによって得ることができる問い合わせを容易にするために、ログの一部として場合のBEANNAME印刷ログ、設定値を達成することができます。
- ApplicationContextAwareインタフェースこのインタフェースを実装することによってスロー構成ビーンApplicationContextの応用例を得ることができ、このインターフェイスは、このようなBeanオブジェクトとしてSpringアプリケーションにApplicationContextのビーンへのアクセスを可能にするために作成された理由は、指定された名前getBean方法により得られます。
- 春のアダプタとして動作するが、オブジェクトの作成と管理の標準セマンティクスを使用することはできませんFactoryBeanのインターフェース; FactoryBeanのは、トランザクションおよびプロキシJNDIコンテキスト内のリソースに自動的にアクセスすることができます。
春の設定詳細とspringboot
おすすめ
転載: www.cnblogs.com/use-D/p/12634039.html
ランキング