Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Sign in / Register
Toggle navigation
S
spring-boot
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
DEMO
spring-boot
Commits
275d7945
Commit
275d7945
authored
May 20, 2019
by
Stephane Nicoll
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Make sure JdbcTemplateConfiguration is imported once
Closes gh-13806
parent
2f244c8b
Changes
3
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
97 additions
and
41 deletions
+97
-41
JdbcTemplateAutoConfiguration.java
...oot/autoconfigure/jdbc/JdbcTemplateAutoConfiguration.java
+2
-41
JdbcTemplateConfiguration.java
...rk/boot/autoconfigure/jdbc/JdbcTemplateConfiguration.java
+50
-0
NamedParameterJdbcTemplateConfiguration.java
...nfigure/jdbc/NamedParameterJdbcTemplateConfiguration.java
+45
-0
No files found.
spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/jdbc/JdbcTemplateAutoConfiguration.java
View file @
275d7945
...
@@ -21,16 +21,11 @@ import javax.sql.DataSource;
...
@@ -21,16 +21,11 @@ import javax.sql.DataSource;
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.ConditionalOnClass
;
import
org.springframework.boot.autoconfigure.condition.ConditionalOnClass
;
import
org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean
;
import
org.springframework.boot.autoconfigure.condition.ConditionalOnSingleCandidate
;
import
org.springframework.boot.autoconfigure.condition.ConditionalOnSingleCandidate
;
import
org.springframework.boot.context.properties.EnableConfigurationProperties
;
import
org.springframework.boot.context.properties.EnableConfigurationProperties
;
import
org.springframework.context.annotation.Bean
;
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.context.annotation.Primary
;
import
org.springframework.jdbc.core.JdbcOperations
;
import
org.springframework.jdbc.core.JdbcTemplate
;
import
org.springframework.jdbc.core.JdbcTemplate
;
import
org.springframework.jdbc.core.namedparam.NamedParameterJdbcOperations
;
import
org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate
;
import
org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate
;
/**
/**
...
@@ -48,42 +43,8 @@ import org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate;
...
@@ -48,42 +43,8 @@ import org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate;
@ConditionalOnSingleCandidate
(
DataSource
.
class
)
@ConditionalOnSingleCandidate
(
DataSource
.
class
)
@AutoConfigureAfter
(
DataSourceAutoConfiguration
.
class
)
@AutoConfigureAfter
(
DataSourceAutoConfiguration
.
class
)
@EnableConfigurationProperties
(
JdbcProperties
.
class
)
@EnableConfigurationProperties
(
JdbcProperties
.
class
)
@Import
({
JdbcTemplateConfiguration
.
class
,
NamedParameterJdbcTemplateConfiguration
.
class
})
public
class
JdbcTemplateAutoConfiguration
{
public
class
JdbcTemplateAutoConfiguration
{
@Configuration
(
proxyBeanMethods
=
false
)
static
class
JdbcTemplateConfiguration
{
@Bean
@Primary
@ConditionalOnMissingBean
(
JdbcOperations
.
class
)
public
JdbcTemplate
jdbcTemplate
(
DataSource
dataSource
,
JdbcProperties
properties
)
{
JdbcTemplate
jdbcTemplate
=
new
JdbcTemplate
(
dataSource
);
JdbcProperties
.
Template
template
=
properties
.
getTemplate
();
jdbcTemplate
.
setFetchSize
(
template
.
getFetchSize
());
jdbcTemplate
.
setMaxRows
(
template
.
getMaxRows
());
if
(
template
.
getQueryTimeout
()
!=
null
)
{
jdbcTemplate
.
setQueryTimeout
((
int
)
template
.
getQueryTimeout
().
getSeconds
());
}
return
jdbcTemplate
;
}
}
@Configuration
(
proxyBeanMethods
=
false
)
@Import
(
JdbcTemplateConfiguration
.
class
)
static
class
NamedParameterJdbcTemplateConfiguration
{
@Bean
@Primary
@ConditionalOnSingleCandidate
(
JdbcTemplate
.
class
)
@ConditionalOnMissingBean
(
NamedParameterJdbcOperations
.
class
)
public
NamedParameterJdbcTemplate
namedParameterJdbcTemplate
(
JdbcTemplate
jdbcTemplate
)
{
return
new
NamedParameterJdbcTemplate
(
jdbcTemplate
);
}
}
}
}
spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/jdbc/JdbcTemplateConfiguration.java
0 → 100644
View file @
275d7945
/*
* 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.
* You may obtain a copy of the License at
*
* https://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package
org
.
springframework
.
boot
.
autoconfigure
.
jdbc
;
import
javax.sql.DataSource
;
import
org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.Configuration
;
import
org.springframework.context.annotation.Primary
;
import
org.springframework.jdbc.core.JdbcOperations
;
import
org.springframework.jdbc.core.JdbcTemplate
;
/**
* Configuration for {@link JdbcTemplateConfiguration}.
*
* @author Stephane Nicoll
*/
@Configuration
(
proxyBeanMethods
=
false
)
@ConditionalOnMissingBean
(
JdbcOperations
.
class
)
class
JdbcTemplateConfiguration
{
@Bean
@Primary
public
JdbcTemplate
jdbcTemplate
(
DataSource
dataSource
,
JdbcProperties
properties
)
{
JdbcTemplate
jdbcTemplate
=
new
JdbcTemplate
(
dataSource
);
JdbcProperties
.
Template
template
=
properties
.
getTemplate
();
jdbcTemplate
.
setFetchSize
(
template
.
getFetchSize
());
jdbcTemplate
.
setMaxRows
(
template
.
getMaxRows
());
if
(
template
.
getQueryTimeout
()
!=
null
)
{
jdbcTemplate
.
setQueryTimeout
((
int
)
template
.
getQueryTimeout
().
getSeconds
());
}
return
jdbcTemplate
;
}
}
spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/jdbc/NamedParameterJdbcTemplateConfiguration.java
0 → 100644
View file @
275d7945
/*
* 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.
* You may obtain a copy of the License at
*
* https://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package
org
.
springframework
.
boot
.
autoconfigure
.
jdbc
;
import
org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean
;
import
org.springframework.boot.autoconfigure.condition.ConditionalOnSingleCandidate
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.Configuration
;
import
org.springframework.context.annotation.Primary
;
import
org.springframework.jdbc.core.JdbcTemplate
;
import
org.springframework.jdbc.core.namedparam.NamedParameterJdbcOperations
;
import
org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate
;
/**
* Configuration for {@link NamedParameterJdbcTemplate}.
*
* @author Stephane Nicoll
*/
@Configuration
(
proxyBeanMethods
=
false
)
@ConditionalOnSingleCandidate
(
JdbcTemplate
.
class
)
@ConditionalOnMissingBean
(
NamedParameterJdbcOperations
.
class
)
class
NamedParameterJdbcTemplateConfiguration
{
@Bean
@Primary
public
NamedParameterJdbcTemplate
namedParameterJdbcTemplate
(
JdbcTemplate
jdbcTemplate
)
{
return
new
NamedParameterJdbcTemplate
(
jdbcTemplate
);
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment