gpt4 book ai didi

java - 'before ApplicationContext'阶段没有触发应用事件

转载 作者:行者123 更新时间:2023-12-02 10:03:46 26 4
gpt4 key购买 nike

我正在尝试监听 ApplicationStartingEvent (或任何预 ApplicationContext 阶段),但看起来它们都没有被触发。

尝试在onApplicationEvent方法中设置断点,尝试将事件打印到标准输出。没有任何效果

听众:

public class MyListener implements ApplicationListener<ApplicationEvent> {

@Override
public void onApplicationEvent(ApplicationEvent applicationEvent) {
System.out.println("Application event " + applicationEvent);
}
}

应用:

@SpringBootApplication
public class MySpringBootApplication {
public static void main(String[] args) {
SpringApplication springApplication = new SpringApplication();
springApplication.addListeners(new MyListener());
springApplication.run(MySpringBootApplication.class, args);

}
}

期望看到一些事件被打印到控制台。感谢您的帮助

最佳答案

您调用的run方法是静态方法。这意味着您的 springApplication 实例的状态(包括您添加的监听器)无效。

你应该这样做:

SpringApplication springApplication = new SpringApplication(MySpringBootApplication.class);
springApplication.addListeners(new MyListener());
springApplication.run(args);

关于java - 'before ApplicationContext'阶段没有触发应用事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55449491/

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