|
|
@ -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");
|
|
|
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
|
|
* you may not use this file except in compliance with 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;
|
|
|
|
package org.springframework.boot.autoconfigure.data.jdbc;
|
|
|
|
|
|
|
|
|
|
|
|
import java.util.Optional;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
|
|
|
|
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
|
|
|
|
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
|
|
|
|
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
|
|
|
|
import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
|
|
|
|
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.boot.autoconfigure.jdbc.JdbcTemplateAutoConfiguration;
|
|
|
|
import org.springframework.context.annotation.Configuration;
|
|
|
|
import org.springframework.context.annotation.Configuration;
|
|
|
|
import org.springframework.context.annotation.Import;
|
|
|
|
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.EnableJdbcRepositories;
|
|
|
|
import org.springframework.data.jdbc.repository.config.JdbcConfiguration;
|
|
|
|
import org.springframework.data.jdbc.repository.config.JdbcConfiguration;
|
|
|
|
import org.springframework.data.jdbc.repository.config.JdbcRepositoryConfigExtension;
|
|
|
|
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;
|
|
|
|
import org.springframework.jdbc.core.namedparam.NamedParameterJdbcOperations;
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
/**
|
|
|
|
* {@link EnableAutoConfiguration Auto-configuration} for Spring Data's JDBC Repositories.
|
|
|
|
* {@link EnableAutoConfiguration Auto-configuration} for Spring Data's JDBC Repositories.
|
|
|
|
* <p>
|
|
|
|
* <p>
|
|
|
|
* Once in effect, the auto-configuration is the equivalent of enabling JDBC repositories
|
|
|
|
* Once in effect, the auto-configuration is the equivalent of enabling JDBC repositories
|
|
|
|
* using the {@link EnableJdbcRepositories} annotation and providing a
|
|
|
|
* using the {@link EnableJdbcRepositories} annotation and providing an
|
|
|
|
* {@link JdbcConfiguration} subclass.
|
|
|
|
* {@link AbstractJdbcConfiguration} subclass.
|
|
|
|
*
|
|
|
|
*
|
|
|
|
* @author Andy Wilkinson
|
|
|
|
* @author Andy Wilkinson
|
|
|
|
* @since 2.1.0
|
|
|
|
* @since 2.1.0
|
|
|
|
* @see EnableJdbcRepositories
|
|
|
|
* @see EnableJdbcRepositories
|
|
|
|
*/
|
|
|
|
*/
|
|
|
|
|
|
|
|
@SuppressWarnings("deprecation")
|
|
|
|
@Configuration
|
|
|
|
@Configuration
|
|
|
|
@ConditionalOnBean(NamedParameterJdbcOperations.class)
|
|
|
|
@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)
|
|
|
|
@ConditionalOnProperty(prefix = "spring.data.jdbc.repositories", name = "enabled", havingValue = "true", matchIfMissing = true)
|
|
|
|
@AutoConfigureAfter(JdbcTemplateAutoConfiguration.class)
|
|
|
|
@AutoConfigureAfter(JdbcTemplateAutoConfiguration.class)
|
|
|
|
public class JdbcRepositoriesAutoConfiguration {
|
|
|
|
public class JdbcRepositoriesAutoConfiguration {
|
|
|
@ -62,27 +59,9 @@ public class JdbcRepositoriesAutoConfiguration {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
@Configuration
|
|
|
|
@Configuration
|
|
|
|
@ConditionalOnMissingBean(JdbcConfiguration.class)
|
|
|
|
@ConditionalOnMissingBean({ AbstractJdbcConfiguration.class,
|
|
|
|
static class SpringBootJdbcConfiguration extends JdbcConfiguration {
|
|
|
|
JdbcConfiguration.class })
|
|
|
|
|
|
|
|
static class SpringBootJdbcConfiguration extends AbstractJdbcConfiguration {
|
|
|
|
// 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);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|