ベースのコンストラクタ依存性注入
私たちは、指定されたクラス内のBeanタグが初期化され、初期化プロセスは、自然に、我々はまた、このコンストラクタ完全な依存性の注入を使用することができ、コンストラクタを呼び出します、知っています。
クラスを作成します。
パブリック クラステキストエディタ{ 公共のテキストエディタ(スペルチェッカースペルチェッカー){ System.out.println( "テキストエディタコンストラクタ" ); } 公共のテキストエディタ(文字列S){ System.out.println(S); } }
見ることができるように2つのコンストラクタがあります。
最初のパラメータは、コンストラクタのカスタム型で、第二のタイプは文字列です。設定ファイル内のパラメータを書いて二つの異なるタイプが同じではありませんが、以下が挙げられるでしょう。
その後、テストクラスを作成します。
パブリック クラスMainApps { 公共 静的 ボイドメイン(文字列[]引数){ AbstractApplicationContextコンテキスト = 新しい ClassPathXmlApplicationContext( "applicationContext.xmlを" ); テキストエディタエディタ =(テキストエディタ)context.getBean( "テキスト" ); } }
次のように設定ファイル:
< ビーンID =「テキスト」クラス=「Dependency.injection.TextEditor」>が < コンストラクタArg- タイプ=「java.lang.Stringで」値=「これはコンストラクタインジェクションの値である」/> </ 豆>
設定ファイルは、一般的な豆のタグに加えて、ラベルは、コンストラクタ、引数コンストラクタ・インジェクションを完了する必要があります。
テストクラスの出力を実行します。
これは、値コンストラクタ・インジェクションであります
コンストラクタは、上記コールする場合は、次のように設定ファイルは読み取ります。
< ビーンID = "テキスト" クラス= "Dependency.injection.TextEditor" > < コンストラクタ引数- REF = "スペルチェッカー" /> </ ビーン> < ビーンID = "スペルチェッカー" クラス= "Dependency.injection.SpellChecker" />
注意:
1.あなたは、REFを直接使用するオブジェクトへの参照を渡す必要がある場合、あなたは組み込みデータ型のJavaを渡す必要がある場合は、型宣言で入力する必要が値をして、値を設定します。
2.パラメータの設定パラメータの複数のパラメータリスト場合、送信順序は、パラメータリストの順序です。
注入のベースの依存設定値機能
完全な依存性注入に提供する機能を呼び出すことによってビーン値。
ファーストクラスを準備します。
パブリック クラステキストエディタ{ プライベート文字列名; // 设值函数 公共 ボイドのsetName(文字列名){ この .nameの= 名前。 } 公共 のボイドのgetName(){ System.out.println(この.nameの); } }
なお、プライベートプロパティ名は、次のBeanによって、この属性の値を設定します。
そして、テストクラスを準備します。
パブリック クラスMainApps { 公共 静的 ボイドメイン(文字列[]引数){ AbstractApplicationContextコンテキスト = 新しい ClassPathXmlApplicationContext( "applicationContext.xmlを" ); テキストエディタエディタ =(テキストエディタ)context.getBean( "テキスト" ); editor.getName(); } }
次のように設定ファイル:
< ビーンID = "テキスト" クラス= "Dependency.injection.TextEditor" > < プロパティ名= "名前" 値= "李四" /> </ 豆>
テストクラスの出力を実行します。
ジョン・ドウ
注意:
1関数の値が同じリファレンスを使用し、参照を渡すことによって提供されてもよいです。
2.プロファイルは、プロパティの値の関数を備えています。コンストラクタ・インジェクションはコンストラクタ、引数であります