Springコア原理TIL(8)
[参考講座]金英漢のスプリングコア原理-基本編
@CopentScan@CopentScan@Componentを持つすべてのクラスをSpringBinとして登録します. この場合springbinの基本名称はクラス名を使用するが、先頭のアルファベットは小文字 スプリングシートの名称を直接指定したい場合
ジェネレータに@Autowiredを指定すると、スプリングコンテナは自動的にスプリング空きスペースを検索して注入します. メンバーRepositor.classと同じ
生成者に多くのパラメータがあっても、見つかり、自動的に注入されます.
必要な位置から探索してこそ、時間を節約することができます. 指定されていなければ
情報クラスの場所をプロジェクトの上部に設定します.最近のSpringBootでもデフォルトでこの方法が提供されています.
コンポーネントスキャンには@Componentだけでなく、以下の追加内容も含まれます.include Filters:他の素子スキャンターゲットを指定 除外フィルタ:素子スキャン以外の対象を指定
自動空登録vs自動空登録
:構成部品スキャンでは、自動的にスプリングシートが登録されます.名前が同じであれば、スプリングシートに
手動空登録vs自動空登録
この場合、手動空登録は優先権を有する.手動アイドリング自動アイドリング
しかし、これでは、本当に捉えにくいバグが発生します.
したがって、最近SpringBootでは、手動空登録と自動空登録が競合したときにエラーが発生するようにデフォルト値が変更されました.
自動注入依存関係を整理してみよう…!
私の目標は今週までにこの授業を終えることです.あなた.みんな...!がんばって…!
💡スイープエレメント
素子スキャンとDI操作
1. @ComponentScan
@Component("memberService2")
このように命名すればよい.2.自動注入自動接続依存関係
生成者に多くのパラメータがあっても、見つかり、自動的に注入されます.
▼▼ナビゲーション位置とデフォルトスキャンターゲット
ナビゲートするパッケージの開始位置を指定します
必要な位置から探索してこそ、時間を節約することができます.
@ComponentScan(
basePackages = "hello.core",
)
basePackages
:閲覧するパッケージの開始位置を指定します.これらのパッケージを含むすべてのサブパッケージを参照します.basePackageClasses
:ナビゲーション開始位置として指定カテゴリのパケットを指定します.@ComponentScan
付加的な設定情報クラスパケットが開始位置となる.推奨方法
情報クラスの場所をプロジェクトの上部に設定します.最近のSpringBootでもデフォルトでこの方法が提供されています.
▼▼素子スキャンデフォルトターゲット
コンポーネントスキャンには@Componentだけでなく、以下の追加内容も含まれます.
@Component
:素子走査用@Controller
:スプリングMVC用コントローラ@Service
:スプリングビジネスロジック用@Repository
:スプリングデータアクセス層用@Configuration
:スプリング設定情報用▼▼▼フィルター
#重複登録との競合
自動空登録vs自動空登録
:構成部品スキャンでは、自動的にスプリングシートが登録されます.名前が同じであれば、スプリングシートに
ConflictingBeanDefinitionException
エラーが発生します.手動空登録vs自動空登録
この場合、手動空登録は優先権を有する.手動アイドリング自動アイドリング
したがって、最近SpringBootでは、手動空登録と自動空登録が競合したときにエラーが発生するようにデフォルト値が変更されました.
自動注入依存関係を整理してみよう…!
私の目標は今週までにこの授業を終えることです.あなた.みんな...!がんばって…!
Reference
この問題について(Springコア原理TIL(8)), 我々は、より多くの情報をここで見つけました https://velog.io/@yulhee741/Spring-핵심-원리-TIL-8テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol