首页 > 解决方案 > ApplicationEnvironmentPreparedEvent 未接收

问题描述

我有以下应用程序启动器:

@SpringBootApplication
public class MyApplication {


    public static void main(String[] args) {
        SpringApplication springApplication = new SpringApplication();
        springApplication.setListeners(Collections.singleton(new MyListenrer()));
        springApplication.run(MyApplication.class, args)
    }


    public static class MyListener implements ApplicationListener<ApplicationEnvironmentPreparedEvent>{

        @Override
        public void onApplicationEvent(ApplicationEnvironmentPreparedEvent applicationEnvironmentPreparedEvent) {
            System.out.println("invoked");
        }
    }
}

但我的听众没有调用。

如何解决?

标签: javaspringspring-bootevent-handling

解决方案


有用:

public static void main(String[] args) {
    SpringApplication springApplication = new SpringApplication();
    springApplication.setListeners(Collections.singleton(new MyListener()));
    springApplication.setSources(MyApplication.class);
    springApplication.run(args) ///!!!!!
}

推荐阅读