Spring Boot 中的 ApplicationPreparedEvent 不起作用

Mar*_*ryo 5 spring spring-boot

我尝试在应用程序启动时运行课程:

@Component
public class BoostrapListener implements ApplicationListener<ApplicationPreparedEvent> {

    @Override
    public void onApplicationEvent(ApplicationPreparedEvent applicationPreparedEvent) {
        System.out.println("ApplicationListener Invoked At Spring Container Startup");
    }

}


@SpringBootApplication
public class Application {

    public static void main(String[] args) throws Exception {
        ConfigurableApplicationContext app = SpringApplication.run(Application.class, args);
        BoostrapListener bean = app.getBean(BoostrapListener.class);
        app.addApplicationListener(bean);
    }
}
Run Code Online (Sandbox Code Playgroud)

BoostrapListener 类永远不会被调用..

你能帮助我吗

Ste*_*oll 7

ApplicationPreparedEvent在应用程序生命周期的早期被调用。此时我们甚至还没有完全处理配置,因此我们看不到您的 bean 定义。

文档给了你一个提示,但我们可以做得更好,所以我创建了#5061