根据你传进来的basePackage路径获取当前路径下面的所有class
String basePackage = "com.youshang520i";
//拼接成指定的表达式:classpath*:com/youshang520i/**/*.class
String packageSearchPath = ResourcePatternResolver.CLASSPATH_ALL_URL_PREFIX +
resolveBasePackage(basePackage) + '/' + this.resourcePattern;
Resource[] resources = getResourcePatternResolver().getResources(packageSearchPath);
//获取到你想要的Class路径:/Users/youshang/IdeaProjects/private/spring-learning/spring-condition/target/classes/com/youshang520i/controller/ConditionController.class
Resource[] resources = new PathMatchingResourcePatternResolver().getResources(packageSearchPath);
通过实现类获取到接口类
ClassUtils.getAllInterfacesForClassAsSet(targetClass);
获取类注解的属性,key=beanName value = beanObject
Map<String, Object> beans = applicationContext.getBeansWithAnnotation(Test.class);
通过类对象+注解获取一个结果集 key = Method ,value = Annotation
Map<Method, ProducerKafkaMessage> methodProducerKafkaMessageMap = MethodIntrospector.selectMethods(bean.getClass(),
(MethodIntrospector.MetadataLookup<ProducerKafkaMessage>) method ->
AnnotatedElementUtils.findMergedAnnotation(method, ProducerKafkaMessage.class));