Annotierte Klassen zur Laufzeit entdecken
Um den Klassenpfad nach annotierten Klassen zu durchsuchen, sollten Sie die Verwendung der vielgelobten Bibliothek in Betracht ziehen org.springframework.context.annotation.ClassPathScanningCandidateComponentProvider.
ClassPathScanningCandidateComponentProvider erklärt
ClassPathScanningCandidateComponentProvider nutzt die Leistungsfähigkeit von Annotationen, um den Klassenpfad ausgehend von einem vordefinierten Basispaket schnell zu scannen. Durch die sorgfältige Anwendung spezifischer Einschluss- und Ausschlussfilter auf die abgeleiteten Klassen werden geeignete Kandidaten sorgfältig identifiziert, die die Suchkriterien genau erfüllen.
Praktische Implementierung
Instanziieren Sie ClassPathScanningCandidateComponentProvider und geben Sie an, ob oder nicht, um den Standardfilter zu verwenden.
ClassPathScanningCandidateComponentProvider scanner = new ClassPathScanningCandidateComponentProvider(<DO_YOU_WANT_TO_USE_DEFALT_FILTER>);
Definieren ein AnnotationTypeFilter, um die Zielanmerkung abzugrenzen.
scanner.addIncludeFilter(new AnnotationTypeFilter(<TYPE_YOUR_ANNOTATION_HERE>.class));
Zum Schluss wird der Scanvorgang innerhalb des angegebenen Basispakets initiiert und die entdeckten Kandidatenklassen gesammelt.
for (BeanDefinition bd : scanner.findCandidateComponents(<TYPE_YOUR_BASE_PACKAGE_HERE>)) System.out.println(bd.getBeanClassName());
Durch harmonische Integration von ClassPathScanningCandidateComponentProvider und Mit der richtigen Konfiguration können Sie den Klassenpfad effektiv scannen und Klassen erkennen, die mit den Anmerkungen Ihrer Wahl versehen sind.
Das obige ist der detaillierte Inhalt vonWie kann ich mit ClassPathScanningCandidateComponentProvider zur Laufzeit annotierte Klassen effizient erkennen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!