mirror of
https://github.com/drtrang/druid-spring-boot.git
synced 2026-10-25 17:53:41 +00:00
data source initializer
This commit is contained in:
@@ -0,0 +1,22 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xmlns="http://maven.apache.org/POM/4.0.0"
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
<parent>
|
||||
<artifactId>druid-spring-boot</artifactId>
|
||||
<groupId>com.github.drtrang</groupId>
|
||||
<version>1.0.4-SNAPSHOT</version>
|
||||
</parent>
|
||||
|
||||
<artifactId>druid-spring-boot-actuator</artifactId>
|
||||
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-actuator</artifactId>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
</project>
|
||||
+6
-8
@@ -2,7 +2,6 @@ package com.github.trang.druid;
|
||||
|
||||
import com.github.trang.druid.datasource.init.DruidDataSourceInitializer;
|
||||
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
|
||||
import org.springframework.boot.autoconfigure.AutoConfigureBefore;
|
||||
import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
|
||||
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
|
||||
import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
|
||||
@@ -15,9 +14,9 @@ import javax.sql.DataSource;
|
||||
|
||||
/**
|
||||
* 支持数据源初始化时执行 SQL
|
||||
*
|
||||
* <p>
|
||||
* 照搬自 #{@link org.springframework.boot.autoconfigure.jdbc.DataSourceInitializer}
|
||||
*
|
||||
* <p>
|
||||
* 在多数据源场景下,#{@link DataSourceAutoConfiguration} 会报 #{@code DataSource} 和
|
||||
* #{@code DruidDataSourceInitializer} 的循环依赖,目前的解决办法是排除 #{@link DataSourceAutoConfiguration},
|
||||
* 但是这样一来,Spring Boot 在数据源初始化时执行 SQL 的特性会被移除,此类是为了保留该特性
|
||||
@@ -25,8 +24,7 @@ import javax.sql.DataSource;
|
||||
* @author trang
|
||||
*/
|
||||
@Configuration
|
||||
@AutoConfigureBefore(DataSourceAutoConfiguration.class)
|
||||
@AutoConfigureAfter(DruidAutoConfiguration.class)
|
||||
@AutoConfigureAfter(DataSourceAutoConfiguration.class)
|
||||
@ConditionalOnBean(DataSource.class)
|
||||
public class DruidDataSourceInitializerAutoConfiguration {
|
||||
|
||||
@@ -34,9 +32,9 @@ public class DruidDataSourceInitializerAutoConfiguration {
|
||||
@ConditionalOnMissingBean(
|
||||
type = "org.springframework.boot.autoconfigure.jdbc.DataSourceInitializer",
|
||||
value = DruidDataSourceInitializer.class)
|
||||
public DruidDataSourceInitializer druidDataSourceInitializer(DataSourceProperties properties,
|
||||
ApplicationContext applicationContext) {
|
||||
public DruidDataSourceInitializer dataSourceInitializer(DataSourceProperties properties,
|
||||
ApplicationContext applicationContext) {
|
||||
return new DruidDataSourceInitializer(properties, applicationContext);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
@@ -11,7 +11,6 @@
|
||||
</parent>
|
||||
|
||||
<artifactId>druid-spring-boot-samples</artifactId>
|
||||
<name>${project.artifactId}</name>
|
||||
|
||||
<dependencyManagement>
|
||||
<dependencies>
|
||||
|
||||
+1
-4
@@ -3,10 +3,7 @@ package com.github.trang.druid.controller;
|
||||
import com.github.trang.druid.mapper.CityMapper;
|
||||
import com.github.trang.druid.model.City;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.PathVariable;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
@RestController
|
||||
@RequestMapping("/city")
|
||||
|
||||
Reference in New Issue
Block a user