我想在我的spring-boot应用程序开始监视目录更改后运行代码。
我尝试运行新线程,但此时@Autowired尚未设置服务。
@Autowired
我已经能够找到ApplicationPreparedEvent,它会在设置@Autowired注释之前触发。理想情况下,一旦应用程序准备处理http请求,我希望触发该事件。
ApplicationPreparedEvent
在Spring Boot中启动应用程序后,是否有更好的事件可以使用,或者有更好的代码运行方式?
尝试:
@Configuration @EnableAutoConfiguration @ComponentScan public class Application extends SpringBootServletInitializer { @SuppressWarnings("resource") public static void main(final String[] args) { ConfigurableApplicationContext context = SpringApplication.run(Application.class, args); context.getBean(Table.class).fillWithTestdata(); // <-- here } }
就这么简单:
@EventListener(ApplicationReadyEvent.class) public void doSomethingAfterStartup() { System.out.println("hello world, I have just started up"); }
在版本上测试 1.5.1.RELEASE
1.5.1.RELEASE