东东
发布于 2024-12-26 / 2 阅读 / 0 评论 / 0 点赞

Java如何扫描得到某个指定注解的类

Java中如何扫描项目内某个指定注解的类

有一个需求,要将多个文件的文件名放入一个list中,现在只知道这些文件在项目内,且都用相同的注解标注了。

如何获取这些文件呢?

反射

通过反射工具类来获取

引入依赖

<dependency>
    <groupId>org.reflections</groupId>
    <artifactId>reflections</artifactId>
    <version>0.9.11</version>
</dependency>

获取类

Reflections reflections = new Reflections("com.dong.xxx");
Set<Class<?>> serviceClasses = reflections.getTypesAnnotatedWith(xxx.class);
for (Class<?> serviceClass : serviceClasses) {
    xxx xx = serviceClass.getAnnotation(xxx.class);
    String serviceName = xxx.name();
}