在 Spring Boot Web 应用程序中,是否可以确保在嵌入式 Web 服务器(tomcat)监听传入请求之前执行某些代码?
我有一些数据库迁移脚本,需要在应用程序响应来自 REST API 的任何请求之前运行。我怎样才能做到这一点?目前,我的迁移脚本组件使用 @EventListener
来处理 ContextRefreshedEvent
但为时已晚。以下行之前已记录:
o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 8091 (http) with context path ''
最佳答案
您可以在用于连接数据库(存储库)的bean中使用@PostConstruct
方法,并在那里编写运行脚本所需的代码,该代码将在之后执行bean 是在服务器运行之前创建的。
关于java - 确保在 Spring Boot 中 Web 服务器公开 HTTP 之前执行代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65564839/