从 SpEL 访问实际 Class 变量

Access to Actual Class Variable from SpEL

根据spring的事件处理机制,我们可以在某些情况下使用SpEL来select特定的处理程序。摘自 spring 文档。

public class EventXHandler {
    private String handlerClassName;
    @EventListener(condition = "#event.name == handlerClassName")
    public void processBlockedListEvent(BlockedListEvent event) {
        // notify appropriate parties via notificationAddress...
    }
}

我的问题是;如果我可以访问 spel.

中的处理程序 class' 属性

没有;你不能那样做。

如果你知道bean的名称并为属性添加一个public getter,你可以使用

#event.name == @beanName.handlerClassName.