java spring boot在启动之前从db获取值

时间:2017-10-06 09:22:55

标签: java spring spring-boot jdbc spring-data-jpa

我是java和spring boot(ard 1 month exp)的新手。 谁能告诉我如何在启动应用程序之前从内存加载数据。

示例:

我有db中的信息说性别

TABLE : gender
F : Female
M : Male

TABLE : COUNTRY
1 : US
2 : UK
3 : RUSSIA

因此,在应用程序启动之前,我希望从db获取此数据并加载到我的应用程序。

我正在使用java + sprint boot + JPA

2 个答案:

答案 0 :(得分:0)

我想说最简单的方法是在应用程序启动后立即执行(在main方法中)。

 public static void main(final String[] args) {
    ConfigurableApplicationContext context = SpringApplication.run(Application.class, args);
    context.getBean(YourClass.class).loadFromDatabase(); //Or whatever you want
}

我不知道你为什么在启动前需要它。您还可以将其包含在其中一个bean(实际需要数据的bean)中,并使用@PostConstruct方法。或者为该bean提供Init方法

答案 1 :(得分:0)

您可以将静态块用作可以加载的位置。

static { // logic to load data from db. }