java - 在 spring(启动)启动时扫描使用自定义 @Annotation 注释的任意目标(TYPE、METHOD、FIELD)

标签 java spring

我需要找到所有出现的 @CustomAnnotation (理想情况下任何目标)在 Spring(启动)初始化期间的某个地方 - 它可以是类似 ApplicationListener<ContextRefreshedEvent> 的事件或ApplicationContextAware .

ClassPathScanningCandidateComponentProvider不会为我做这件事,因为它会在加载之前扫描类上的注释(它读取元数据)。

我该怎么做?

最佳答案

我试图继续使用纯 Spring (或引导)解决方案,但我不得不回到我的老 friend - Reflection(使用 Guava )。

为了使工作尽可能无缝,我使用了:https://github.com/ronmamo/reflections

通过 ApplicationListener<ContextRefreshedEvent> 调用电话(如上面的 github 链接示例) .

很容易解决我的问题,但如果存在的话,我对纯 Spring 解决方案持开放态度(Guava 是一个额外的依赖项,也许 Spring 已经默认附带了一些东西?)。

关于java - 在 spring(启动)启动时扫描使用自定义 @Annotation 注释的任意目标(TYPE、METHOD、FIELD),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59225792/

相关文章:

java - 如何从外部客户端订阅 Spring WebSocket 消息代理?

java - 在物理内存为 16 GB RAM 和 8 个 CPU 的 Linux 上,JDK8 64 位的 JVM 堆大小 (Xms Xmx) 应该是多少

Java Spring应用程序@autowired返回空指针异常

java - 在 Spring 运行时注册 bean(prototype)

java - Spring中基于自定义注解的方法调用?

java - 在 Java 中解析缩进文本树

java - ERROR : Property appears in @XmlType. propOrder,但不存在此类属性

java - 如何配置(可选)一对一复合主键?

java - spring中Bean实例化与静态工厂的查询

java - Spring boot Rest 以空主体响应异常,而不是在我的@ControllerAdvice 中覆盖的异常