使用org.springframework.context.annotation.ClassPathScanningCandidateComponentProvider
API
组件提供程序,它从基本程序包扫描类路径。然后,它将排除和包括过滤器应用于结果类以查找候选对象。
ClassPathScanningCandidateComponentProvider scanner =
new ClassPathScanningCandidateComponentProvider(<DO_YOU_WANT_TO_USE_DEFALT_FILTER>);
scanner.addIncludeFilter(new AnnotationTypeFilter(<TYPE_YOUR_ANNOTATION_HERE>.class));
for (BeanDeFinition bd : scanner.findCandidateComponents(<TYPE_YOUR_BASE_PACKAGE_HERE>))
System.out.println(bd.getBeanClassName());