春5.xのソース旅行四〇から一BeanFactoryPostProcessors拡張ポイント
図劣ら
コンテナは初期化呼び出すとinvokeBeanFactoryPostProcessors
方法をBeanDefinitionRegistryPostProcessor
してBeanFactoryPostProcessor
、主に内部メソッドを呼び出してConfigurationClassPostProcessor
処理を行うために、構成ファイルを、記事では、主に出て拡張することができます記載されている場所のいくつかに、避ける、それ以前について話をしています例えば、我々は非常に先頭を拡張することができます。
BeanDefinitionRegistryPostProcessor
最初はそれが最初の拡張定義から呼び出します。
例えば、私が登録したいbean
定義を、それは非常に始まるレジスタ、外出先では以下となります。
PriorityOrdered且BeanDefinitionRegistryPostProcessor
その後、実行はここを含め、優先順位によって順序付け来て取得しますConfigurationClassPostProcessor
、設定ファイル、我々はすべての中にパッケージ登録するコンテナクラス解析するために行くだろうbean
、それに定義されたレジスタを。:
注文且BeanDefinitionRegistryPostProcessor
ロジックは、ちょうどあなたが缶を定義しない限り、デフォルトでは、内部プロセッサを持っていないだろう、重い行きます。
残りBeanDefinitionRegistryPostProcessor
最後に、残り:
invokeBeanFactoryPostProcessors
その後、我々は、カスタマイズの実現の先頭に行くBeanFactoryPostProcessors
と、ちょうど登録BeanFactoryPostProcessor
プロセッサの種類postProcessBeanFactory
方法:
すべてのBeanFactoryPostProcessor最後の治療
その後になりますBeanFactoryPostProcessor
私たちのカスタムまたはいくつかの内部クラスがされているため、買収のタイプ、そして実行するためにBeanFactoryPostProcessor
、自己のタイプはから定義することができるBeanDefinitionRegistryPostProcessor
リストに追加し、それが正面を処理しませんでした、我々はまた、優先度の高い順に、いったんバックに対処しなければなりませんでしたA。
ここでは、プラント関連、あなたが内側に登録して動作可能でプロセッサを処理しているbean
工場。
registerBeanPostProcessors注册BeanPostProcessor
ここでは、すべてでBeanPostProcessor
見つかったインスタンス化し、容器に登録を。
登録の前に:
登録後:
2は、内部のデフォルトは、カスタムされている6
1。
ApplicationContextAwareProcessor
初期化プロパティを設定するために使用される前に:
ImportAwareBeanPostProcessor
主にされCGLIB
たときに、エージェントクラスを設定する設定beanFactory
:プロパティ、ImportAware着信メタデータ注釈の対象
CommonAnnotationBeanPostProcessor
とはAutowiredAnnotationBeanPostProcessor
されている特性と注入の方法の主な仕事である:
ApplicationListenerDetector
リスニングの主な仕事であります登録はあなたがあれば、されbean
ているApplicationListener
単語の種類:
BeanPostProcessorChecker
権利を作成するために、プロセッサの数をチェックするために使用されます。
さて、今日ここに、私たちは自分自身の学習、限られた容量を理解し、偉大な神は見スプレーしないで、言い訳してください、助けの調査に希望と理解しています。