在我的春季启动应用程序中,我有许多负责监控的bean。今天,每个人都注释了:
@ConditionalOnProperty(name="enable.monitor", havingValue="true")
这样监控是完全可配置的,我可以从属性文件中打开和关闭它。
在这个解决方案中我不喜欢的是我必须将这个长注释添加到每个bean。我想知道是否有更优雅的方法来实现这种可配置的监控。也许通过注释所有带有一些新注释的bean,比如说@Monitoring
,并以某种方式告诉spring在它们的基础上启动它们,这可能吗?
欢迎任何其他建议。
可以创建自己的自定义@Monitoring
注释,如下所示:
Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@Documented
@ConditionalOnProperty(name="enable.monitor", havingValue="true")
public @interface Monitoring {
}
这可以在之后应用于其他bean。