次の例のように、デモデータを挿入しApplicationReadyEvent
をキャッチすることができます:
@Component
public class DemoData {
@Autoware
private final EntityRepository repo;
@EventListener
public void appReady(ApplicationReadyEvent event) {
repo.save(new Entity(...));
}
}
それとも、アプリケーションが完全に起動したとき、デモデータをロードするために、CommandLineRunner
またはApplicationRunner
を実装できます。
@Component
public class DemoData implements CommandLineRunner {
@Autoware
private final EntityRepository repo;
@Override
public void run(String...args) throws Exception {
repo.save(new Entity(...));
}
}
@Component
public class DemoData implements ApplicationRunner {
@Autoware
private final EntityRepository repo;
@Override
public void run(ApplicationArguments args) throws Exception {
repo.save(new Entity(...));
}
}
また、アプリケーション(または他の 'config')クラスのBeanのように実装することもできます:
@SpringBootApplication
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
@Bean
public CommandLineRunner demoData(EntityRepository repo) {
return args -> {
repo.save(new Entity(...));
}
}
}
それがあなたを助けた場合、答えを受け入れることを忘れないでください。 – Cepr0