スプリング注入の 3 つの方法とは何ですか?

王林
リリース: 2020-11-13 10:19:02
オリジナル
37026 人が閲覧しました

スプリングインジェクションの 3 つの方法は、1. コンストラクター インジェクション、2. セッター インジェクション、3. インターフェイス インジェクションです。コンストラクターの注入はコンストラクター メソッドの実装に依存し、セッターの注入はセッター メソッドを通じて注入されます。

スプリング注入の 3 つの方法とは何ですか?

Spring の依存性注入は、次の 3 つのメソッドに分かれています:

1. コンストラクター インジェクション

2. セッター インジェクション

3. インターフェイス インジェクション

依存関係の注入には主にコンストラクター インジェクションとセッター インジェクションがあり、インターフェイス インジェクションとは他の場所から注入する方法を指します。 (インジェクションはxmlで記述することで実現します)

(学習ビデオ推奨: javaビデオチュートリアル)

1. コンストラクタインジェクション

コンストラクタインジェクションは依存します----------コンストラクターはパラメーター化することもパラメーターなしにすることもできます。

春までは、ほとんどの場合、コンストラクターを通じてクラス オブジェクトを作成していました。 Spring は反射を利用して構築メソッドを通じて注入を完了することができ、これが構築メソッドの原理です。

1. Spring サポートの導入

2. 特定のクラス、構築メソッド、パラメーターを記述することで、Spring は対応する情報によるリフレクションを通じてオブジェクトを作成できます。

3. Spring 設定ファイルをテスト ファイルにロードする方法

String configLocation ="applicationContext.xml";
ApplicationContext context = new ClassPathXmlApplicationContext(configLocation);
Role role = context.getBean("role", Role.class);
ログイン後にコピー

Spring のすべてのリソースは Bean です。

2. Spring で最も主流のインジェクション方法: セッター インジェクション

セッター インジェクションは JAVA Bean 仕様によって決定されます

注:

コンストラクター インジェクションはコンストラクター インジェクションを通じて、

セッター インジェクションはセッター メソッドを通じてインジェクトされます。

最初にコンストラクターをパラメーターなしのコンストラクターに設定し、次にセッター インジェクションを使用してそれに新しい値を設定します。これも行われます。 Java によるリフレクション技術が実現されます。

注: コンストラクター注入とセッター注入は両方とも Java のリフレクション テクノロジを通じて実現されます。

1     <!-- 下面是setter注入,需要一个无参的构造方法 -->
2     <bean id="role1" class="com.pojo.Role" >
3         <property name="id"    value="124"></property>
4         <property name="name" value="张三"></property>
5         <property name="age" value="2324"></property>
6     </bean>
ログイン後にコピー

3. Spring 依存関係注入の 3 番目の方法: インターフェイス注入

リソースが自分のシステムからではなく、外部から取得される場合があります。たとえば、データベース接続リソースは完全にTomcat で設定し、JNDI 経由で取得するデータベース接続リソースは、開発プロジェクト外のリソースです。

関連する推奨事項:Java の使用を開始する

以上がスプリング注入の 3 つの方法とは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート