import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.core.io.Resource;
import org.springframework.jdbc.datasource.init.DataSourceInitializer;
import org.springframework.jdbc.datasource.init.DatabasePopulator;
import org.springframework.jdbc.datasource.init.ResourceDatabasePopulator;
import javax.sql.DataSource;
@Configurationpublic classBatchTaskDataSourceInitializer {/**
* 构建Resource对象*/@Value("classpath:schema-all.sql")privateResource businessScript;/**
* 自定义Bean实现业务的特殊需求
* @param dataSource
* @return*/@BeanpublicDataSourceInitializer dataSourceInitializer(final DataSource dataSource) {
final DataSourceInitializer initializer= newDataSourceInitializer();//设置数据源
initializer.setDataSource(dataSource);
initializer.setDatabasePopulator(databasePopulator());returninitializer;
}privateDatabasePopulator databasePopulator() {
final ResourceDatabasePopulator populator= newResourceDatabasePopulator();
populator.addScripts(businessScript);returnpopulator;
}
}