DataSourceInitializer
を介してdb data initを実装したいと思います。Spring起動時にcurrenly active dataSourceへの参照を取得する
私はSpring Bootのmainメソッドの直下にあるメソッドとしてこれらを持っていますが、実行されないと思われます(私は意図的に文字を削除して実行を確認するエラーを引き起こしました。 ):
@ConfigurationProperties(prefix="spring.datasource")
@Bean
public DataSource getDataSource() {
// i was hoping this was going to pull my current datasource, as
// defined in application.properties
return DataSourceBuilder
.create()
.build();
}
@Bean
public DataSourceInitializer dataSourceInitializer() {
ResourceDatabasePopulator resourceDatabasePopulator = new ResourceDatabasePopulator();
resourceDatabasePopulator.addScript(new ClassPathResource("/data/init/initData.sql"));
DataSourceInitializer dataSourceInitializer = new DataSourceInitializer();
// the call to the above method
dataSourceInitializer.setDataSource(getDataSource());
dataSourceInitializer.setDatabasePopulator(resourceDatabasePopulator);
return dataSourceInitializer;
}
更新:この質問は、使用中のデータソースへの参照を取得することを目的としていました。この質問は非常に単純な方法でデータを初期化する方法について説明します。 DataSourceInitializer is not working on Spring boot 1.2
は変化しなかったが、デシベルで、まだ何も変更。私のコードで何が間違っているかも知れませんか? – developer10