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

时间:2017-04-04 21:25:29

标签: java spring annotations spring-annotations

我应该能够增强一些Spring控制器返回的一些POJO。为了做到这一点并检测那些应该增强的东西,我希望开发者能够在POJO上放置一个类注释。增强功能是通过组合拦截调用的@ControllerAdvice和在返回的POJO上检测此特殊注释来增强它们。通过在应用程序启动时检测它们而不是在分析@ControllerAdvice中控制器响应时动态执行它来获取装饰候选的POJO列表将在性能方面带来很大好处。 / p>

在Spring中,使用继承@Component的自定义注释来标记一些简单的POJO类是不可接受的,这些类不是旨在由Spring实例化和管理,其简单目标是能够通过它获取它们的列表 ClassPathScanningCandidateComponentProvider或者我应该优先使用Reflections之类的其他第三方库来完成这项工作?

我的观点是,如果@Component在这种情况下没有意义,那么仅仅因为Spring提供的注释扫描机制的混淆而不会歪曲@Component的含义。

1 个答案:

答案 0 :(得分:0)

我们最终选择了以下方法:https://stackoverflow.com/a/1415338/256561基于ClassPathScanningCandidateComponentProvider的自定义使用。