按属性有条件启动一组豆

时间:2019-03-07 21:49:00

标签: java spring javabeans

在我的spring boot应用程序中,我有许多负责监视的bean。 今天,每个注释都带有:

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

这样,监视是完全可配置的,我可以从属性文件中打开和关闭它。
我在此解决方案中不喜欢的事情是必须将这个长注释添加到每个bean中。我想知道是否有更优雅的方法来实现这种可配置的监视。也许通过给所有bean加上一些新的注释,例如@Monitoring,然后以某种方式告诉spring根据该属性来初始化它们,这有可能吗?
欢迎其他任何建议。

1 个答案:

答案 0 :(得分:0)

可以按照以下步骤创建自己的自定义@Monitoring批注:

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

此后可以将其应用于其他bean。