私たちは、最初の5点バネの拡張を理解する必要があります
1、BeanPostProcessorは、豆の初期化を管理することができ、豆は、この段階で生成されたプロキシの実装です。
2は、BeanDefinitionRegistryPostProcessor、あなたはMapperScannerConfigurerでMyBatisの、容器に登録されたこの拡張ポイントに基づいてプロキシオブジェクトマッパーを生成するために、スキャン後にMyBatisの、Beanのコンテナを春に登録所有することができます
豆のスキャンを達成してから登録します。
3、BeanFactoryPostProcessorは、サブインタフェースであるBeanDefinitionRegistryPostProcessor
4、ImportBeanDefinitionRegistrarは、所望の外部ビーン春コンテナに登録するため、豆Springコンテナに登録されていてもよいです
5、ImportSelector、文字列の配列と再帰処理Beanを生成します
最初MapperScan-> MapperScannerRegistrar(ImportBeanDefinitionRegistrarクラスは、処理すべき容器のスキャンのサブクラスであるラベルインポート) - > MapperScannerConfigurer(ImportBeanDefinitionRegistrarクラスがインポートタグ処理すべき容器のスキャンのサブクラスです)、
それが共通SpringBean ImportBeanDefinitionRegistrar処理プロセスであるため、BeanDefinitionRegistryPostProcessor ImportBeanDefinitionRegistrarを選択しない選択は、コールが終了した後、なぜ、MyBatisのは、最初の初期化後に必要な春のいくつかに依存している唯一の方法は、マッパー内MyBatisのを開始する前に完了しているので、MyBatisのBeanへのマッパーは、実際に分割され拡張ポイントの2つの実施形態です。
最初は、あなたが管理し、その後、コンテナを春に登録MapperScannerConfigurer registerBeanDefinitionsメソッド内ImportBeanDefinitionRegistrarを呼び出し、スキャンマッパーを処理するためにpostProcessBeanDefinitionRegistry春呼び出したい春のすべてのBeanコンテナとラベルのインポートを処理するpostProcessBeanDefinitionRegistry ConfigurationClassPostProcessor方法であります
このクラスは、MyBatisの豆をスキャンし、容器に登録する責任があります。