按属性有条件地启动bean组

问题描述 投票:0回答:1

在我的春季启动应用程序中,我有许多负责监控的bean。今天,每个人都注释了:

@ConditionalOnProperty(name="enable.monitor", havingValue="true")

这样监控是完全可配置的,我可以从属性文件中打开和关闭它。 在这个解决方案中我不喜欢的是我必须将这个长注释添加到每个bean。我想知道是否有更优雅的方法来实现这种可配置的监控。也许通过注释所有带有一些新注释的bean,比如说@Monitoring,并以某种方式告诉spring在它们的基础上启动它们,这可能吗? 欢迎任何其他建议。

java spring javabeans
1个回答
0
投票

可以创建自己的自定义@Monitoring注释,如下所示:

Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@Documented
@ConditionalOnProperty(name="enable.monitor", havingValue="true")
public @interface Monitoring {
}

这可以在之后应用于其他bean。

© www.soinside.com 2019 - 2024. All rights reserved.