DB(Oracle)中有一个表存储"代码"及其"描述"。我需要在应用程序启动期间加载此表数据并将其存储在变量(可能是Map对象)中,以便我可以查找每个请求的代码描述,而无需为每个请求命中数据库。最好的方法是什么?
Application是一个基于Spring框架的独立Java应用程序。
感谢。
答案 0 :(得分:0)
我不确定,但Spring事件可能有所帮助。例如,您可以使用ContextRefreshedEvent - 只要启动或刷新Spring Context,就会发布此事件。
请检查:running-code-on-spring-boot-startup或better-application-events-in-spring-framework-4-2
答案 1 :(得分:0)
您可以创建一个选择应用程序启动方法的类。 在Spring中,您可以使用ApplicationReadyEvent事件实现ApplicationListener接口。
此时您的应用程序已准备好与数据库通信 并将自动执行您的代码。
@Component
public class AppBootstrapListener implements ApplicationListener<ApplicationReadyEvent> {
// Inject Service or repository if you have.
/**
* Executes on application ready event
* Check's if data exists & calls to create or read data
*/
@Override
public void onApplicationEvent(ApplicationReadyEvent event) {
// code here
}
}
如有任何澄清,请添加评论