本文共 1138 字,大约阅读时间需要 3 分钟。
作用:对一个类的各种元数据都封装成一个MetadataReader对象,以下是获取MetadataReader对象的方式之一
public static void main(String[] args) throws IOException, ClassNotFoundException { Setcandidates = new LinkedHashSet<>(); ResourcePatternResolver resourcePatternResolver = new PathMatchingResourcePatternResolver(); Resource[] resources = resourcePatternResolver.getResources("classpath*:com/my/*/*.**"); MetadataReaderFactory metadata=new SimpleMetadataReaderFactory(); for(Resource resource:resources) { MetadataReader metadataReader=metadata.getMetadataReader(resource); ScannedGenericBeanDefinition sbd = new ScannedGenericBeanDefinition(metadataReader); sbd.setResource(resource); sbd.setSource(resource); candidates.add(sbd); } for(BeanDefinition beanDefinition : candidates) { String classname=beanDefinition.getBeanClassName(); Controller c=Class.forName(classname).getAnnotation(Controller.class); Service s=Class.forName(classname).getAnnotation(Service.class); Component component=Class.forName(classname).getAnnotation(Component.class); if(c!=null ||s!=null ||component!=null) System.out.println(classname); } }
转载地址:http://jthws.baihongyu.com/