Commit e924745b authored by Andy Wilkinson's avatar Andy Wilkinson

Start building against Spring Data Moore M2 snapshots

See gh-15197
parent c25b1652
/*
* 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 {
}
......
/*
* 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>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment