我应该能够增强一些Spring控制器返回的一些POJO。为了做到这一点并检测那些应该增强的东西,我希望开发者能够在POJO上放置一个类注释。增强功能是通过组合拦截调用的@ControllerAdvice
和在返回的POJO上检测此特殊注释来增强它们。通过在应用程序启动时检测它们而不是在分析@ControllerAdvice
中控制器响应时动态执行它来获取装饰候选的POJO列表将在性能方面带来很大好处。 / p>
在Spring中,使用继承@Component
的自定义注释来标记一些简单的POJO类是不可接受的,这些类不是旨在由Spring实例化和管理,其简单目标是能够通过它获取它们的列表
ClassPathScanningCandidateComponentProvider
或者我应该优先使用Reflections之类的其他第三方库来完成这项工作?
我的观点是,如果@Component
在这种情况下没有意义,那么仅仅因为Spring提供的注释扫描机制的混淆而不会歪曲@Component
的含义。
答案 0 :(得分:0)
我们最终选择了以下方法:https://stackoverflow.com/a/1415338/256561基于ClassPathScanningCandidateComponentProvider
的自定义使用。