Start building against Spring Data Moore M2 snapshots

See gh-15197
pull/13916/head
Andy Wilkinson 6 years ago
parent c25b1652dd
commit e924745bf8

@ -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.
* <p>
* 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> 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 {
}

@ -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();

@ -166,7 +166,7 @@
<spring-amqp.version>2.1.4.BUILD-SNAPSHOT</spring-amqp.version>
<spring-batch.version>4.1.1.RELEASE</spring-batch.version>
<spring-cloud-connectors.version>2.0.4.RELEASE</spring-cloud-connectors.version>
<spring-data-releasetrain.version>Lovelace-BUILD-SNAPSHOT</spring-data-releasetrain.version>
<spring-data-releasetrain.version>Moore-BUILD-SNAPSHOT</spring-data-releasetrain.version>
<spring-framework.version>${spring.version}</spring-framework.version>
<spring-hateoas.version>0.25.0.RELEASE</spring-hateoas.version>
<spring-integration.version>5.1.3.BUILD-SNAPSHOT</spring-integration.version>

Loading…
Cancel
Save