利用Spring扫描class文件

Set<String> sets = new HashSet<>();
String basePackage = "com.springframework";
String searchPaths = ResourcePatternResolver.CLASSPATH_ALL_URL_PREFIX + ClassUtils.convertClassNameToResourcePath(basePackage) + "/**/*.class";
ResourcePatternResolver resolver = new PathMatchingResourcePatternResolver();
Resource[] resources = resolver.getResources(searchPaths);
MetadataReaderFactory metadataReaderFactory = new CachingMetadataReaderFactory();
for (Resource resource : resources) {
    MetadataReader metadataReader = metadataReaderFactory.getMetadataReader(resource);
    String className = metadataReader.getClassMetadata().getClassName();
    sets.add(className);
}
sets.forEach(className -> System.out.println(className));

猜你喜欢

转载自blog.csdn.net/cockroach02/article/details/81030149