Java Springの注入方法は何ですか?

WBOY
リリース: 2023-05-03 12:04:16
転載
1134 人が閲覧しました

Spring のスコープを設定します

Java spring的注入方式有哪些


または列挙値を使用して

Java spring的注入方式有哪些

単一のスコープを設定しますCase と Duoli の使用シナリオ

Java spring的注入方式有哪些

自動インジェクション

Java spring的注入方式有哪些

@Primary

インターフェイスには複数の実装がありますSpring によって管理されていますか? 依存関係の注入では、注入する実装クラスがわからない場合、Spring は NoUniqueBeanDefinitionException をスローします。
@Primary を使用して Spring にどの実装クラスを注入するかを指示します

Java spring的注入方式有哪些

#Qualifier

Java spring的注入方式有哪些

Java spring的注入方式有哪些

@ComponentScanさまざまな構成がパフォーマンスに及ぼす影響

Spring アプリケーションのパフォーマンスに合わせた Bean 構成の最適化影響

Spring では、コンポーネントのスキャン範囲を設定することで javaBean インジェクション プロセスを簡素化できます。

大規模なオブジェクト インジェクションが必要なシナリオでは、 @ComponentScan アノテーションを使用して、パッケージ スキャン ポイント もちろん、Spring が作成および管理するには、指定されたパッケージ パス内のクラスに @Component アノテーションを付ける必要があります。

Java spring的注入方式有哪些

Java spring的注入方式有哪些#遅延読み込み

Java spring的注入方式有哪些

spring はデフォルトでプリロードを使用します。 Spring プロジェクトの開始時に Bean を作成します

遅延読み込み: Spring プロジェクトの開始時に Bean を作成せず、使用時に作成します

Java spring的注入方式有哪些

# #3 つの注入方法Java spring的注入方式有哪些

Java spring的注入方式有哪些

Java spring的注入方式有哪些

#フィールド注入 (IDEA では推奨されないことを示すメッセージが表示されます)

Java spring的注入方式有哪些フィールド注入の欠点:

フィールドによって注入された Bean クラスは外部からは見えません

  • 循環依存関係の問題

  • 注入されるオブジェクトを最終オブジェクトとして設定することも、それらの不変オブジェクトを注入することもできません


Java spring的注入方式有哪些フィールドによって挿入された Bean クラスは外部からは見えません

Java spring的注入方式有哪些

#フィールド インジェクションを使用する場合の最大の問題は、挿入されたクラスの外部からの可視性です。 (HealthRecorService)、および HealthRecorService が ClientService クラスでアクセスされた場合、デタッチされたコンテナー環境にアクセスできなくなります。その結果、クラスとコンテナーの間の結合が高くなりすぎ、コンテナーなしではターゲット オブジェクトを使用できなくなります。

外部クラス new では、ClientService がフィールド インジェクション Bean を含むメソッドを呼び出し、HealthRecorService クラスの null ポインタ例外がスローされます。

Java spring的注入方式有哪些循環依存関係の問題

次のように、 A と B には循環依存関係があります。ただし、Spring では合法です。Sring クラスのコンパイルおよび開始時に例外はスローされません。エラーは、A または B が使用された場合にのみ報告されます。

## がフィールド化されています 注入されたオブジェクトは、注入する必要がある他のクラスのインスタンス化の前にインスタンス化されます。

コンストラクター インジェクション (公式推奨)

Java spring的注入方式有哪些 コンストラクター インジェクションは、クラスのコンストラクターを通じて注入されます。

コンストラクター インジェクションで解決できる問題:

外部からは見えないクラス


    注入されるオブジェクトをfinalとして設定できません。また、それらの不変オブジェクトを注入することもできません。
  • 解決できません: 循環依存関係の問題
  • コードはあまり読みにくいです

  • ##

    コンストラクター インジェクションを使用する場合、循環依存関係はありますか? Spring プロジェクトが開始されると、循環依存関係例外がスローされます。

    Java spring的注入方式有哪些

    set メソッド インジェクション

    set インジェクションで解決できる問題:

    • クラスの外では見えない

    • 循環依存関係の問題

    • 不可能必要な値を設定します。注入されたオブジェクトは最終的なものであり、それらの不変オブジェクトは注入できません

    Java spring的注入方式有哪些

    #

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

関連ラベル:
ソース:yisu.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!