在 Spring 中将简单的 POJO 注释为 @Component 以增强行为

Annotating simple POJO as @Component in Spring for enhancing behavior

我应该能够增强某些 Spring 控制器返回的某些 POJO。为此并检测那些应该增强的内容,我希望开发人员能够在 POJO 上放置一个 class 注释。增强是通过结合拦截调用的 @ControllerAdvice 和检测返回的 POJO 上的这个特殊注释来增强它们。通过在应用程序启动时检测它们而不是在 @ControllerAdvice 中分析控制器的响应时动态地进行检测来获取作为装饰候选的 POJO 列表,这将在性能方面大有裨益。

在Spring中,是否可以接受使用继承@Component的自定义注解来标记一些不打算由Spring实例化和管理的简单POJO classes一个简单的目标是能够通过 ClassPathScanningCandidateComponentProvider or should I preferably use some other third party library like Reflections做这份工作?

我的观点是,如果 @Component 在这种情况下没有任何意义,那么不要仅仅为了 Spring 提供的注释扫描机制的舒适性而歪曲 @Component 的含义。

我们最终选择了以下方法:基于自定义使用ClassPathScanningCandidateComponentProvider