gpt4 book ai didi

spring - 从 Spring 的 @EventListener(condition = "...") 中的属性文件评估属性

转载 作者:行者123 更新时间:2023-12-04 11:37:15 26 4
gpt4 key购买 nike

我想让事件处理程序的执行取决于属性是否设置为 true在属性文件中。

@EventListener(ContextRefreshedEvent.class, condition = "${service.enabled}")
public void onStartup() { }

但是,这似乎不起作用。我在启动时收到以下错误:

org.springframework.expression.spel.SpelParseException: EL1043E:(pos 1): Unexpected token. Expected 'identifier' but was 'lcurly({)'



是否可以将属性文件中的属性用作此处的条件?

最佳答案

问题是条件参数需要 SPEL。
这个作品试试看。

在你的 bean 中,你有这个 @EventListener ,添加这些行

public  boolean isServiceEnabled() {
return serviceEnabled;
}

@Value("${service.enabled}")
public boolean serviceEnabled;

像这样改变你的 evnt 监听器声明
@EventListener(classes = ContextRefreshedEvent.class, condition =  "@yourbeanname.isServiceEnabled()")
public void onStartup() { }

使用正确的 bean name 更改 yourbeanname。

关于spring - 从 Spring 的 @EventListener(condition = "...") 中的属性文件评估属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50723383/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com