我想在启动时从数据库读取数据到列表或映射。 哪种方法最好? Spring Boot版本是5。
下面的解决方案好吗?
@Component
public class ApplicationStartup
implements ApplicationListener<ApplicationReadyEvent> {
/**
* This event is executed as late as conceivably possible to indicate that
* the application is ready to service requests.
*/
@Override
public void onApplicationEvent(final ApplicationReadyEvent event) {
// here your code ...
return;
}
}
我想将数据存储在静态类中,但是我怀疑这是最好的解决方案。
答案 0 :(得分:1)
我不太了解这样做的动机,但是这样做可以使用@Component创建一个bean,然后在该bean中创建一个带有@PostConstruct批注的方法。您可以使用此方法做任何您想做的事情。
答案 1 :(得分:0)
在Spring启动上下文加载后,使用ApplicationRunner
接口是运行代码的最佳方法。
@Component
public class ApplicationStartup implements ApplicationRunner {
@Override
public void run(ApplicationArguments args) throws Exception {
}
}