私はの反射を使用していると考えていましたが、すべてのクラスをスキャンしてその注釈、メソッドです。しかし、反射を使用して聞いたは、パッケージ名でクラスの詳細を取得できません。 次に、指定されたパッケージのスプリングスキャンのクラスはどのようになっていますか?springは<context:component-scan>で指定されたパッケージのすべてのクラスをスキャンしますか?
1
A
答えて
1
正直なところ、私はすべてを詳細に覚えていませんが、私が間違っていない場合はコンポーネントスキャンがComponentScanBeanDefinitionParser.classによって処理されました。すべての基本パッケージを探して、それらのbeanDefinitionsをスキャンします。
スキャンはClassPathBeanDefinitionScanner.classを実行し、そのメタデータを使用してbeanDefinitionsのすべての候補を見つけます。
基本パッケージ内の候補を検索すると、ClassPathScanningCandidateComponentProvider.classがResourcePatternResolver.classで実行されます。
このメカニズムがデバッガとどのくらい動作するかを調べてみてください。 この情報がお役に立てば幸いです。
関連する問題
- 1. Spring + TestNG:パッケージが注釈のためにスキャンされない
- 2. すべてのBeanをSpringの現在のパッケージにあるかのようにスキャンしますか?
- 3. クラス@自動スキャンの場合、Spring @Beanが自動的にスキャンされます
- 4. 指定されたパッケージを含むすべての依存関係を検索
- 5. testngスイートxmlは、デフォルトでクラス名の下に指定されたすべてのメソッドを実行します。
- 6. C#UWP Reflection指定されたクラスを拡張するすべてのクラスを取得します。
- 7. Flowtype:型指定されたユーザーと型指定されていないユーザーの両方のパッケージですか?
- 8. 指定されたタイプのすべてのコントロールのデフォルトプロパティを設定します。
- 9. JarScanは、特定のクラスのすべてのサブフォルダ内のすべてのJARファイルをスキャンします
- 10. XCode/iOS:指定されたクラスのすべてのインスタンスを反復処理しますか?
- 11. パッケージやクラスをjavaで 'main'として指定できますか?
- 12. 指定されたクラスの親を選択するためのSpring AOPまたはAspectJの方法
- 13. 指定されたパターンと同じ名前のCSSクラスをすべて削除しますか?
- 14. テキストファイルを配列にスキャンして指定された1行を省略する
- 15. パッケージまたはクラスの指定なしでコマンドラインからJavaアプリケーションを実行しますか?
- 16. 指定されたノードの後のすべてのノードを削除します
- 17. 指定されたクラス
- 18. 指定されたパターンでパッケージが見つかりません
- 19. Spring Boot:クラス内のパッケージがロードされていません
- 20. fread()は指定された文字にすべての列クラスを割り当てます
- 21. 指定されたディレクトリにゼロサイズのすべてのファイルを削除します
- 22. Springスケジュールされたタスク:XML設定でタイムゾーンを指定する
- 23. Senchaで指定されたクラス名を持つすべての要素のスタイルを設定する方法
- 24. Spring Framework BeanはJavaコードで定義されたシングルトンインスタンスを指します
- 25. connectedAndroidTestタスクは、クラスが指定されていてもすべてのテストを実行します
- 26. Springカスタムフィルタは、指定されたURLで1回だけ実行されます
- 27. コマンドラインで指定されたパッケージ内のすべてのTestNGテストを実行する
- 28. Springで生成されたWSDLの操作順序を指定します
- 29. 指定されたキャストは無効です。ギザギザの配列からすべての値を取得します。
- 30. Pharoの指定された日付のパッケージをロードする