获取springboot中指定目录下 带有指定注解的类
private List<String> getTableNameList(){ List<String> list = new ArrayList<>(); PathMatchingResourcePatternResolver resolver = new PathMatchingResourcePatternResolver(); //获取 包路径 classPath*: classpath*:com/lyc/**/*DO.class String pattern = ResourcePatternResolver.CLASSPATH_ALL_URL_PREFIX + ClassUtils.convertClassNameToResourcePath("com.lyc") +"/**/*DO.class"; try { Resource[] resources = resolver.getResources(pattern); CachingMetadataReaderFactory readerFactory = new CachingMetadataReaderFactory(resolver); for (Resource resource : resources){ MetadataReader metadataReader = readerFactory.getMetadataReader(resource); // 扫描到的class String className = metadataReader.getClassMetadata().getClassName();
// 这边已经获取到类信息了,但是我这边需要的是注解里面的信息 Class<?> clazz = Class.forName(className); TableName annotation = clazz.getAnnotation(TableName.class); if ( annotation != null){ list.add(annotation.value()); } } } catch (IOException | ClassNotFoundException e) { e.printStackTrace(); } return list; }
使用场景:获取TableName注解下面的所有表名
https://blog.csdn.net/sinat_39314995/article/details/107412600?spm=1001.2101.3001.6650.1&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-1-107412600-blog-110822674.pc_relevant_layerdownloadsortv1&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-1-107412600-blog-110822674.pc_relevant_layerdownloadsortv1&utm_relevant_index=2
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· AI Agent开发,如何调用三方的API Function,是通过提示词来发起调用的吗