From 19e117c9cb53cafeef1cf03205f6a46436e2479a Mon Sep 17 00:00:00 2001 From: Kazuki Shimizu Date: Fri, 13 Jan 2017 05:31:20 +0900 Subject: [PATCH] Use constructor injection in DataSourceInitializer Closes gh-7973 --- .../jdbc/DataSourceAutoConfiguration.java | 9 ++++++--- .../jdbc/DataSourceInitializer.java | 19 +++++++++++-------- 2 files changed, 17 insertions(+), 11 deletions(-) diff --git a/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/jdbc/DataSourceAutoConfiguration.java b/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/jdbc/DataSourceAutoConfiguration.java index 11e6b54156c..5e6d4fbaf17 100644 --- a/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/jdbc/DataSourceAutoConfiguration.java +++ b/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/jdbc/DataSourceAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2016 the original author or authors. + * Copyright 2012-2017 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -40,6 +40,7 @@ import org.springframework.boot.autoconfigure.condition.SpringBootCondition; import org.springframework.boot.autoconfigure.jdbc.DataSourceInitializerPostProcessor.Registrar; import org.springframework.boot.autoconfigure.jdbc.metadata.DataSourcePoolMetadataProvidersConfiguration; import org.springframework.boot.context.properties.EnableConfigurationProperties; +import org.springframework.context.ApplicationContext; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Condition; import org.springframework.context.annotation.ConditionContext; @@ -57,6 +58,7 @@ import org.springframework.jdbc.datasource.embedded.EmbeddedDatabaseType; * @author Dave Syer * @author Phillip Webb * @author Stephane Nicoll + * @author Kazuki Shimizu */ @Configuration @ConditionalOnClass({ DataSource.class, EmbeddedDatabaseType.class }) @@ -69,8 +71,9 @@ public class DataSourceAutoConfiguration { @Bean @ConditionalOnMissingBean - public DataSourceInitializer dataSourceInitializer() { - return new DataSourceInitializer(); + public DataSourceInitializer dataSourceInitializer( + DataSourceProperties properties, ApplicationContext applicationContext) { + return new DataSourceInitializer(properties, applicationContext); } /** diff --git a/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/jdbc/DataSourceInitializer.java b/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/jdbc/DataSourceInitializer.java index bbe619a7bbb..23b3b67bb53 100644 --- a/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/jdbc/DataSourceInitializer.java +++ b/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/jdbc/DataSourceInitializer.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2016 the original author or authors. + * Copyright 2012-2017 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -26,10 +26,9 @@ import javax.sql.DataSource; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.context.config.ResourceNotFoundException; +import org.springframework.context.ApplicationContext; import org.springframework.context.ApplicationListener; -import org.springframework.context.ConfigurableApplicationContext; import org.springframework.core.io.Resource; import org.springframework.jdbc.config.SortedResourcesFactoryBean; import org.springframework.jdbc.datasource.init.DatabasePopulatorUtils; @@ -45,6 +44,7 @@ import org.springframework.util.StringUtils; * @author Phillip Webb * @author EddĂș MelĂ©ndez * @author Stephane Nicoll + * @author Kazuki Shimizu * @since 1.1.0 * @see DataSourceAutoConfiguration */ @@ -52,16 +52,19 @@ class DataSourceInitializer implements ApplicationListener