From e924745bf81aa5997febd21bcd3bdbc74f2e68fb Mon Sep 17 00:00:00 2001 From: Andy Wilkinson Date: Wed, 13 Feb 2019 11:15:29 +0000 Subject: [PATCH] Start building against Spring Data Moore M2 snapshots See gh-15197 --- .../JdbcRepositoriesAutoConfiguration.java | 41 +++++-------------- ...dbcRepositoriesAutoConfigurationTests.java | 10 ++--- .../spring-boot-dependencies/pom.xml | 2 +- 3 files changed, 16 insertions(+), 37 deletions(-) diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/jdbc/JdbcRepositoriesAutoConfiguration.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/jdbc/JdbcRepositoriesAutoConfiguration.java index c367030382..7efb31ee29 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/jdbc/JdbcRepositoriesAutoConfiguration.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/jdbc/JdbcRepositoriesAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2018 the original author or authors. + * Copyright 2012-2019 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. @@ -16,8 +16,6 @@ package org.springframework.boot.autoconfigure.data.jdbc; -import java.util.Optional; - import org.springframework.boot.autoconfigure.AutoConfigureAfter; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; @@ -27,29 +25,28 @@ import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.boot.autoconfigure.jdbc.JdbcTemplateAutoConfiguration; import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Import; -import org.springframework.data.jdbc.core.convert.JdbcCustomConversions; +import org.springframework.data.jdbc.repository.config.AbstractJdbcConfiguration; import org.springframework.data.jdbc.repository.config.EnableJdbcRepositories; import org.springframework.data.jdbc.repository.config.JdbcConfiguration; import org.springframework.data.jdbc.repository.config.JdbcRepositoryConfigExtension; -import org.springframework.data.relational.core.conversion.RelationalConverter; -import org.springframework.data.relational.core.mapping.NamingStrategy; -import org.springframework.data.relational.core.mapping.RelationalMappingContext; import org.springframework.jdbc.core.namedparam.NamedParameterJdbcOperations; /** * {@link EnableAutoConfiguration Auto-configuration} for Spring Data's JDBC Repositories. *

* Once in effect, the auto-configuration is the equivalent of enabling JDBC repositories - * using the {@link EnableJdbcRepositories} annotation and providing a - * {@link JdbcConfiguration} subclass. + * using the {@link EnableJdbcRepositories} annotation and providing an + * {@link AbstractJdbcConfiguration} subclass. * * @author Andy Wilkinson * @since 2.1.0 * @see EnableJdbcRepositories */ +@SuppressWarnings("deprecation") @Configuration @ConditionalOnBean(NamedParameterJdbcOperations.class) -@ConditionalOnClass({ NamedParameterJdbcOperations.class, JdbcConfiguration.class }) +@ConditionalOnClass({ NamedParameterJdbcOperations.class, + AbstractJdbcConfiguration.class }) @ConditionalOnProperty(prefix = "spring.data.jdbc.repositories", name = "enabled", havingValue = "true", matchIfMissing = true) @AutoConfigureAfter(JdbcTemplateAutoConfiguration.class) public class JdbcRepositoriesAutoConfiguration { @@ -62,27 +59,9 @@ public class JdbcRepositoriesAutoConfiguration { } @Configuration - @ConditionalOnMissingBean(JdbcConfiguration.class) - static class SpringBootJdbcConfiguration extends JdbcConfiguration { - - // Remove these public methods when they are made - // public in Spring Data - @Override - public JdbcCustomConversions jdbcCustomConversions() { - return super.jdbcCustomConversions(); - } - - @Override - public RelationalMappingContext jdbcMappingContext( - Optional namingStrategy) { - return super.jdbcMappingContext(namingStrategy); - } - - @Override - public RelationalConverter relationalConverter( - RelationalMappingContext mappingContext) { - return super.relationalConverter(mappingContext); - } + @ConditionalOnMissingBean({ AbstractJdbcConfiguration.class, + JdbcConfiguration.class }) + static class SpringBootJdbcConfiguration extends AbstractJdbcConfiguration { } diff --git a/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/data/jdbc/JdbcRepositoriesAutoConfigurationTests.java b/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/data/jdbc/JdbcRepositoriesAutoConfigurationTests.java index 30ce6f1a33..346a22ba6d 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/data/jdbc/JdbcRepositoriesAutoConfigurationTests.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/data/jdbc/JdbcRepositoriesAutoConfigurationTests.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2018 the original author or authors. + * Copyright 2012-2019 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. @@ -30,8 +30,8 @@ import org.springframework.boot.autoconfigure.jdbc.EmbeddedDataSourceConfigurati import org.springframework.boot.autoconfigure.jdbc.JdbcTemplateAutoConfiguration; import org.springframework.boot.test.context.runner.ApplicationContextRunner; import org.springframework.context.annotation.Configuration; +import org.springframework.data.jdbc.repository.config.AbstractJdbcConfiguration; import org.springframework.data.jdbc.repository.config.EnableJdbcRepositories; -import org.springframework.data.jdbc.repository.config.JdbcConfiguration; import org.springframework.data.jdbc.repository.config.JdbcRepositoryConfigExtension; import org.springframework.data.repository.Repository; @@ -78,7 +78,7 @@ public class JdbcRepositoriesAutoConfigurationTests { "spring.datasource.data=classpath:city.sql", "spring.datasource.generate-unique-name:true") .run((context) -> { - assertThat(context).hasSingleBean(JdbcConfiguration.class); + assertThat(context).hasSingleBean(AbstractJdbcConfiguration.class); assertThat(context).hasSingleBean(CityRepository.class); assertThat(context.getBean(CityRepository.class).findById(2000L)) .isPresent(); @@ -93,7 +93,7 @@ public class JdbcRepositoriesAutoConfigurationTests { .withUserConfiguration(EmbeddedDataSourceConfiguration.class, EmptyConfiguration.class) .run((context) -> { - assertThat(context).hasSingleBean(JdbcConfiguration.class); + assertThat(context).hasSingleBean(AbstractJdbcConfiguration.class); assertThat(context).doesNotHaveBean(Repository.class); }); } @@ -111,7 +111,7 @@ public class JdbcRepositoriesAutoConfigurationTests { "spring.datasource.data=classpath:city.sql", "spring.datasource.generate-unique-name:true") .run((context) -> { - assertThat(context).hasSingleBean(JdbcConfiguration.class); + assertThat(context).hasSingleBean(AbstractJdbcConfiguration.class); assertThat(context).hasSingleBean(CityRepository.class); assertThat(context.getBean(CityRepository.class).findById(2000L)) .isPresent(); diff --git a/spring-boot-project/spring-boot-dependencies/pom.xml b/spring-boot-project/spring-boot-dependencies/pom.xml index ecf54f03cb..5331e73298 100644 --- a/spring-boot-project/spring-boot-dependencies/pom.xml +++ b/spring-boot-project/spring-boot-dependencies/pom.xml @@ -166,7 +166,7 @@ 2.1.4.BUILD-SNAPSHOT 4.1.1.RELEASE 2.0.4.RELEASE - Lovelace-BUILD-SNAPSHOT + Moore-BUILD-SNAPSHOT ${spring.version} 0.25.0.RELEASE 5.1.3.BUILD-SNAPSHOT