是否可以获取使用 @ComponentScan 注册的所有包的列表?
我需要知道,我的 Spring Boot 应用程序中已经注册了哪些(root?)包......
可能的解决方案 -在运行时扫描Java注释 https://stackoverflow.com/questions/259140/scanning-java-annotations-at-runtime
Use org.springframework.context.annotation.ClassPathScanningCandidateComponentProvider
API
从基础包扫描类路径的组件提供程序。它
然后将排除和包含过滤器应用于结果类
寻找候选人。
ClassPathScanningCandidateComponentProvider scanner =
new ClassPathScanningCandidateComponentProvider(<DO_YOU_WANT_TO_USE_DEFAULT_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());
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)