change beanName
import
pom
This commit is contained in:
donghaoliang
2018-05-28 18:55:49 +08:00
parent 9e8b8f916e
commit 7f567d8ae2
52 changed files with 270 additions and 206 deletions
+3
View File
@@ -6,6 +6,9 @@ install: false
cache:
directories:
- $HOME/.m2/repository
addons:
apt:
update: true
after_success:
- cd druid-spring-boot2-example/druid-spring-boot2-mybatis-example
- mvn clean test -Pcoveralls jacoco:report coveralls:report
+5
View File
@@ -1,5 +1,10 @@
# Changelog
## 1.1.10
### Enhancements
1. 升级 parent 版本到 1.2.2
2. 升级 druid 到 1.1.10
## 1.1.9
### Enhancements
1. 升级 druid 到 1.1.9
+4 -4
View File
@@ -15,24 +15,24 @@ Druid Spring Boot Starter 将帮助你在 Spring Boot 中使用 Druid。
<dependency>
<groupId>com.github.drtrang</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>1.1.9</version>
<version>1.1.10</version>
</dependency>
<dependency>
<groupId>com.github.drtrang</groupId>
<artifactId>druid-spring-boot-actuator-starter</artifactId>
<version>1.1.9</version>
<version>1.1.10</version>
</dependency>
<!-- spring boot 2.x -->
<dependency>
<groupId>com.github.drtrang</groupId>
<artifactId>druid-spring-boot2-starter</artifactId>
<version>1.1.9</version>
<version>1.1.10</version>
</dependency>
<dependency>
<groupId>com.github.drtrang</groupId>
<artifactId>druid-spring-boot2-actuator-starter</artifactId>
<version>1.1.9</version>
<version>1.1.10</version>
</dependency>
```
@@ -1,13 +1,12 @@
<?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"
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
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>
<groupId>com.github.drtrang</groupId>
<artifactId>druid-spring-boot2-actuator</artifactId>
<version>1.1.9</version>
<version>1.1.10</version>
</parent>
<artifactId>druid-spring-boot2-actuator-autoconfigure</artifactId>
@@ -1,12 +1,13 @@
package com.github.trang.druid.actuate;
import com.alibaba.druid.stat.DruidStatManagerFacade;
import java.util.List;
import java.util.Map;
import org.springframework.boot.actuate.endpoint.annotation.Endpoint;
import org.springframework.boot.actuate.endpoint.annotation.ReadOperation;
import org.springframework.boot.context.properties.ConfigurationProperties;
import java.util.List;
import java.util.Map;
import com.alibaba.druid.stat.DruidStatManagerFacade;
/**
* 将 Druid 的信息暴露出来
@@ -1,14 +1,15 @@
package com.github.trang.druid.actuate;
import com.alibaba.druid.stat.DruidStatService;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.locks.Lock;
import java.util.concurrent.locks.ReentrantLock;
import org.springframework.boot.actuate.endpoint.annotation.ReadOperation;
import org.springframework.boot.actuate.endpoint.annotation.Selector;
import org.springframework.boot.actuate.endpoint.web.annotation.EndpointWebExtension;
import org.springframework.boot.context.properties.ConfigurationProperties;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.locks.Lock;
import java.util.concurrent.locks.ReentrantLock;
import com.alibaba.druid.stat.DruidStatService;
/**
* 将 {@link DruidDataSourceEndpoint} 适配成 {@link MvcEndpoint}
@@ -1,8 +1,9 @@
package com.github.trang.druid.actuate;
import com.alibaba.druid.pool.DruidDataSource;
import org.springframework.boot.jdbc.metadata.AbstractDataSourcePoolMetadata;
import com.alibaba.druid.pool.DruidDataSource;
/**
* Druid 的基础元数据
*
@@ -1,11 +1,12 @@
package com.github.trang.druid.actuate.autoconfigure;
import com.alibaba.druid.pool.DruidDataSource;
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Import;
import com.alibaba.druid.pool.DruidDataSource;
/**
* Druid Actuator 自动配置,默认开启
*
@@ -1,12 +1,13 @@
package com.github.trang.druid.actuate.autoconfigure;
import com.github.trang.druid.actuate.DruidDataSourceEndpoint;
import com.github.trang.druid.actuate.DruidDataSourceMvcEndpoint;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import com.github.trang.druid.actuate.DruidDataSourceEndpoint;
import com.github.trang.druid.actuate.DruidDataSourceMvcEndpoint;
/**
* Druid Endpoint & Druid MvcEndpoint 自动配置,默认开启
*
@@ -1,13 +1,14 @@
package com.github.trang.druid.actuate.autoconfigure;
import com.alibaba.druid.pool.DruidDataSource;
import com.github.trang.druid.actuate.DruidDataSourcePoolMetadata;
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
import org.springframework.boot.jdbc.metadata.DataSourcePoolMetadataProvider;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import com.alibaba.druid.pool.DruidDataSource;
import com.github.trang.druid.actuate.DruidDataSourcePoolMetadata;
/**
* Druid Metadata 自动配置,适用于 Metrics,默认开启
*
@@ -1,2 +1,2 @@
org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
com.github.trang.druid.actuate.autoconfigure.DruidDataSourceActuatorAutoConfiguration
com.github.trang.druid.actuate.autoconfigure.DruidDataSourceActuatorAutoConfiguration
@@ -1,13 +1,12 @@
<?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"
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
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>
<groupId>com.github.drtrang</groupId>
<artifactId>druid-spring-boot2-actuator</artifactId>
<version>1.1.9</version>
<version>1.1.10</version>
</parent>
<artifactId>druid-spring-boot2-actuator-starter</artifactId>
+2 -3
View File
@@ -1,13 +1,12 @@
<?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"
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
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>
<groupId>com.github.drtrang</groupId>
<artifactId>druid-spring-boot2-parent</artifactId>
<version>1.1.9</version>
<version>1.1.10</version>
</parent>
<artifactId>druid-spring-boot2-actuator</artifactId>
@@ -1,13 +1,12 @@
<?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"
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
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>
<groupId>com.github.drtrang</groupId>
<artifactId>druid-spring-boot2-example</artifactId>
<version>1.1.9</version>
<version>1.1.10</version>
</parent>
<artifactId>druid-spring-boot2-jpa-example</artifactId>
@@ -1,13 +1,15 @@
package com.github.trang.druid.example.jpa;
import com.github.trang.druid.example.jpa.repository.CityRepository;
import com.google.gson.Gson;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.CommandLineRunner;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import com.github.trang.druid.example.jpa.repository.CityRepository;
import com.google.gson.Gson;
import lombok.extern.slf4j.Slf4j;
/**
* DruidSpringBootStarterApplication
*
@@ -1,17 +1,19 @@
package com.github.trang.druid.example.jpa.config;
import lombok.Getter;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.jdbc.datasource.lookup.AbstractRoutingDataSource;
import javax.sql.DataSource;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.concurrent.atomic.AtomicInteger;
import javax.sql.DataSource;
import org.springframework.jdbc.datasource.lookup.AbstractRoutingDataSource;
import lombok.Getter;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
/**
* 动态数据源,基于简单的轮询算法
*
@@ -1,16 +1,19 @@
package com.github.trang.druid.example.jpa.config;
import com.alibaba.druid.pool.DruidDataSource;
import com.github.trang.druid.autoconfigure.DruidDataSourceCustomizer;
import lombok.extern.slf4j.Slf4j;
import java.util.HashMap;
import java.util.Map;
import javax.sql.DataSource;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Primary;
import org.springframework.context.annotation.Profile;
import javax.sql.DataSource;
import java.util.HashMap;
import java.util.Map;
import com.alibaba.druid.pool.DruidDataSource;
import com.github.trang.druid.autoconfigure.DruidDataSourceCustomizer;
import lombok.extern.slf4j.Slf4j;
/**
* 多数据源配置,只在 #{@code spring.profiles.active=dynamic} 时生效
@@ -1,13 +1,14 @@
package com.github.trang.druid.example.jpa.controller;
import com.github.trang.druid.example.jpa.model.City;
import com.github.trang.druid.example.jpa.repository.CityRepository;
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 com.github.trang.druid.example.jpa.model.City;
import com.github.trang.druid.example.jpa.repository.CityRepository;
/**
* CityController
*
@@ -1,10 +1,16 @@
package com.github.trang.druid.example.jpa.model;
import lombok.Data;
import javax.persistence.*;
import java.io.Serializable;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
import lombok.Data;
/**
* City
*
@@ -1,8 +1,9 @@
package com.github.trang.druid.example.jpa.repository;
import com.github.trang.druid.example.jpa.model.City;
import org.springframework.data.jpa.repository.JpaRepository;
import com.github.trang.druid.example.jpa.model.City;
/**
* CityRepository
*
@@ -1,8 +1,5 @@
package com.github.trang.druid.example.jpa.test.coveralls;
import com.github.trang.druid.example.jpa.DruidJpaApplication;
import com.github.trang.druid.example.jpa.repository.CityRepository;
import com.google.gson.Gson;
import org.junit.runner.RunWith;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -10,6 +7,10 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;
import com.github.trang.druid.example.jpa.DruidJpaApplication;
import com.github.trang.druid.example.jpa.repository.CityRepository;
import com.google.gson.Gson;
/**
* BaseTest
*
@@ -1,19 +1,20 @@
package com.github.trang.druid.example.jpa.test.coveralls;
import com.alibaba.druid.pool.DruidDataSource;
import com.github.trang.druid.autoconfigure.datasource.DruidDataSource2;
import com.github.trang.druid.example.jpa.config.DynamicDataSource;
import org.junit.Assert;
import org.junit.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.context.ActiveProfiles;
import static org.junit.Assert.assertEquals;
import java.util.Collection;
import java.util.List;
import java.util.Map;
import java.util.Set;
import static org.junit.Assert.assertEquals;
import org.junit.Assert;
import org.junit.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.context.ActiveProfiles;
import com.alibaba.druid.pool.DruidDataSource;
import com.github.trang.druid.autoconfigure.datasource.DruidDataSource2;
import com.github.trang.druid.example.jpa.config.DynamicDataSource;
/**
* 动态数据源测试
@@ -1,10 +1,11 @@
package com.github.trang.druid.example.jpa.test.coveralls;
import com.github.trang.druid.example.jpa.model.City;
import java.util.List;
import org.junit.Assert;
import org.junit.Test;
import java.util.List;
import com.github.trang.druid.example.jpa.model.City;
/**
* MyBatis 测试
@@ -1,11 +1,12 @@
package com.github.trang.druid.example.jpa.test.coveralls;
import com.alibaba.druid.pool.DruidDataSource;
import static org.junit.Assert.assertEquals;
import org.junit.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.context.ActiveProfiles;
import static org.junit.Assert.assertEquals;
import com.alibaba.druid.pool.DruidDataSource;
/**
* 单数据源测试
@@ -1,13 +1,12 @@
<?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"
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
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>
<groupId>com.github.drtrang</groupId>
<artifactId>druid-spring-boot2-example</artifactId>
<version>1.1.9</version>
<version>1.1.10</version>
</parent>
<artifactId>druid-spring-boot2-mybatis-example</artifactId>
@@ -1,14 +1,16 @@
package com.github.trang.druid.example.mybatis;
import com.github.trang.druid.example.mybatis.mapper.CityMapper;
import com.google.gson.Gson;
import lombok.extern.slf4j.Slf4j;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.CommandLineRunner;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import com.github.trang.druid.example.mybatis.mapper.CityMapper;
import com.google.gson.Gson;
import lombok.extern.slf4j.Slf4j;
/**
* DruidSpringBootStarterApplication
*
@@ -1,17 +1,19 @@
package com.github.trang.druid.example.mybatis.config;
import lombok.Getter;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.jdbc.datasource.lookup.AbstractRoutingDataSource;
import javax.sql.DataSource;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.concurrent.atomic.AtomicInteger;
import javax.sql.DataSource;
import org.springframework.jdbc.datasource.lookup.AbstractRoutingDataSource;
import lombok.Getter;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
/**
* 动态数据源,基于简单的轮询算法
*
@@ -1,16 +1,19 @@
package com.github.trang.druid.example.mybatis.config;
import com.alibaba.druid.pool.DruidDataSource;
import com.github.trang.druid.autoconfigure.DruidDataSourceCustomizer;
import lombok.extern.slf4j.Slf4j;
import java.util.HashMap;
import java.util.Map;
import javax.sql.DataSource;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Primary;
import org.springframework.context.annotation.Profile;
import javax.sql.DataSource;
import java.util.HashMap;
import java.util.Map;
import com.alibaba.druid.pool.DruidDataSource;
import com.github.trang.druid.autoconfigure.DruidDataSourceCustomizer;
import lombok.extern.slf4j.Slf4j;
/**
* 多数据源配置,只在 #{@code spring.profiles.active=dynamic} 时生效
@@ -1,9 +1,13 @@
package com.github.trang.druid.example.mybatis.controller;
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 com.github.trang.druid.example.mybatis.mapper.CityMapper;
import com.github.trang.druid.example.mybatis.model.City;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
/**
* CityController
@@ -1,11 +1,12 @@
package com.github.trang.druid.example.mybatis.mapper;
import com.github.trang.druid.example.mybatis.model.City;
import java.util.List;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import java.util.List;
import com.github.trang.druid.example.mybatis.model.City;
/**
* CityMapper
@@ -1,9 +1,9 @@
package com.github.trang.druid.example.mybatis.model;
import lombok.Data;
import java.io.Serializable;
import lombok.Data;
/**
* City
*
@@ -1,8 +1,5 @@
package com.github.trang.druid.example.mybatis.test.coveralls;
import com.github.trang.druid.example.mybatis.DruidMybatisApplication;
import com.github.trang.druid.example.mybatis.mapper.CityMapper;
import com.google.gson.Gson;
import org.junit.runner.RunWith;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -10,6 +7,10 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;
import com.github.trang.druid.example.mybatis.DruidMybatisApplication;
import com.github.trang.druid.example.mybatis.mapper.CityMapper;
import com.google.gson.Gson;
/**
* BaseTest
*
@@ -1,13 +1,15 @@
package com.github.trang.druid.example.mybatis.test.coveralls;
import static org.junit.Assert.assertEquals;
import org.junit.Test;
import com.alibaba.druid.filter.config.ConfigTools;
import com.alibaba.druid.sql.SQLUtils;
import com.alibaba.druid.sql.SQLUtils.FormatOption;
import com.alibaba.druid.sql.visitor.VisitorFeature;
import lombok.extern.slf4j.Slf4j;
import org.junit.Test;
import static org.junit.Assert.assertEquals;
import lombok.extern.slf4j.Slf4j;
/**
* DruidTest
@@ -1,19 +1,20 @@
package com.github.trang.druid.example.mybatis.test.coveralls;
import com.alibaba.druid.pool.DruidDataSource;
import com.github.trang.druid.autoconfigure.datasource.DruidDataSource2;
import com.github.trang.druid.example.mybatis.config.DynamicDataSource;
import org.junit.Assert;
import org.junit.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.context.ActiveProfiles;
import static org.junit.Assert.assertEquals;
import java.util.Collection;
import java.util.List;
import java.util.Map;
import java.util.Set;
import static org.junit.Assert.assertEquals;
import org.junit.Assert;
import org.junit.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.context.ActiveProfiles;
import com.alibaba.druid.pool.DruidDataSource;
import com.github.trang.druid.autoconfigure.datasource.DruidDataSource2;
import com.github.trang.druid.example.mybatis.config.DynamicDataSource;
/**
* 动态数据源测试
@@ -1,12 +1,13 @@
package com.github.trang.druid.example.mybatis.test.coveralls;
import com.github.trang.druid.example.mybatis.model.City;
import org.junit.Assert;
import org.junit.Test;
import java.util.List;
import java.util.Optional;
import org.junit.Assert;
import org.junit.Test;
import com.github.trang.druid.example.mybatis.model.City;
/**
* MyBatis 测试
*
@@ -1,11 +1,12 @@
package com.github.trang.druid.example.mybatis.test.coveralls;
import com.alibaba.druid.pool.DruidDataSource;
import static org.junit.Assert.assertEquals;
import org.junit.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.context.ActiveProfiles;
import static org.junit.Assert.assertEquals;
import com.alibaba.druid.pool.DruidDataSource;
/**
* 单数据源测试
+2 -3
View File
@@ -1,13 +1,12 @@
<?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"
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
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>
<groupId>com.github.drtrang</groupId>
<artifactId>druid-spring-boot2-parent</artifactId>
<version>1.1.9</version>
<version>1.1.10</version>
</parent>
<artifactId>druid-spring-boot2-example</artifactId>
@@ -1,13 +1,12 @@
<?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"
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
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>
<groupId>com.github.drtrang</groupId>
<artifactId>druid-spring-boot2</artifactId>
<version>1.1.9</version>
<version>1.1.10</version>
</parent>
<artifactId>druid-spring-boot2-autoconfigure</artifactId>
@@ -1,16 +1,14 @@
package com.github.trang.druid.autoconfigure;
import com.alibaba.druid.filter.config.ConfigFilter;
import com.alibaba.druid.filter.logging.CommonsLogFilter;
import com.alibaba.druid.filter.logging.Log4j2Filter;
import com.alibaba.druid.filter.logging.Log4jFilter;
import com.alibaba.druid.filter.logging.Slf4jLogFilter;
import com.alibaba.druid.filter.stat.StatFilter;
import com.alibaba.druid.pool.DruidDataSource;
import com.alibaba.druid.wall.WallConfig;
import com.alibaba.druid.wall.WallFilter;
import com.github.trang.druid.autoconfigure.properties.DruidDataSourceProperties;
import lombok.extern.slf4j.Slf4j;
import static com.github.trang.druid.autoconfigure.properties.DruidDataSourceProperties.DruidConstants.DRUID_COMMONS_LOG_FILTER_PREFIX;
import static com.github.trang.druid.autoconfigure.properties.DruidDataSourceProperties.DruidConstants.DRUID_CONFIG_FILTER_PREFIX;
import static com.github.trang.druid.autoconfigure.properties.DruidDataSourceProperties.DruidConstants.DRUID_LOG4J2_FILTER_PREFIX;
import static com.github.trang.druid.autoconfigure.properties.DruidDataSourceProperties.DruidConstants.DRUID_LOG4J_FILTER_PREFIX;
import static com.github.trang.druid.autoconfigure.properties.DruidDataSourceProperties.DruidConstants.DRUID_SLF4J_FILTER_PREFIX;
import static com.github.trang.druid.autoconfigure.properties.DruidDataSourceProperties.DruidConstants.DRUID_STAT_FILTER_PREFIX;
import static com.github.trang.druid.autoconfigure.properties.DruidDataSourceProperties.DruidConstants.DRUID_WALL_CONFIG_PREFIX;
import static com.github.trang.druid.autoconfigure.properties.DruidDataSourceProperties.DruidConstants.DRUID_WALL_FILTER_PREFIX;
import org.springframework.boot.autoconfigure.AutoConfigureBefore;
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
@@ -23,7 +21,18 @@ import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Import;
import static com.github.trang.druid.autoconfigure.properties.DruidDataSourceProperties.DruidConstants.*;
import com.alibaba.druid.filter.config.ConfigFilter;
import com.alibaba.druid.filter.logging.CommonsLogFilter;
import com.alibaba.druid.filter.logging.Log4j2Filter;
import com.alibaba.druid.filter.logging.Log4jFilter;
import com.alibaba.druid.filter.logging.Slf4jLogFilter;
import com.alibaba.druid.filter.stat.StatFilter;
import com.alibaba.druid.pool.DruidDataSource;
import com.alibaba.druid.wall.WallConfig;
import com.alibaba.druid.wall.WallFilter;
import com.github.trang.druid.autoconfigure.properties.DruidDataSourceProperties;
import lombok.extern.slf4j.Slf4j;
/**
* Druid 连接池的自动配置
@@ -1,10 +1,13 @@
package com.github.trang.druid.autoconfigure;
import com.alibaba.druid.pool.DruidDataSource;
import com.github.trang.druid.autoconfigure.DruidDataSourceConfiguration.DruidDataSourceImportSelector;
import com.github.trang.druid.autoconfigure.datasource.DruidDataSource2;
import com.github.trang.druid.autoconfigure.util.CharMatcher;
import lombok.extern.slf4j.Slf4j;
import static java.util.Collections.emptyMap;
import static org.springframework.beans.factory.support.BeanDefinitionBuilder.genericBeanDefinition;
import java.util.List;
import java.util.Map;
import java.util.stream.Stream;
import java.util.stream.Stream.Builder;
import org.springframework.beans.BeansException;
import org.springframework.beans.factory.ObjectProvider;
import org.springframework.beans.factory.annotation.Autowired;
@@ -20,13 +23,12 @@ import org.springframework.context.annotation.ImportSelector;
import org.springframework.core.env.Environment;
import org.springframework.core.type.AnnotationMetadata;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Stream;
import java.util.stream.Stream.Builder;
import com.alibaba.druid.pool.DruidDataSource;
import com.github.trang.druid.autoconfigure.DruidDataSourceConfiguration.DruidDataSourceImportSelector;
import com.github.trang.druid.autoconfigure.datasource.DruidDataSource2;
import com.github.trang.druid.autoconfigure.util.CharMatcher;
import static org.springframework.beans.factory.support.BeanDefinitionBuilder.genericBeanDefinition;
import lombok.extern.slf4j.Slf4j;
/**
* Druid 数据源配置
@@ -71,7 +73,7 @@ public class DruidDataSourceConfiguration {
public void setEnvironment(Environment environment) {
this.dataSources = Binder.get(environment)
.bind(PREFIX, Bindable.mapOf(String.class, Object.class))
.orElseGet(HashMap::new);
.orElse(emptyMap());
}
@Override
@@ -117,7 +119,7 @@ public class DruidDataSourceConfiguration {
this.environment = environment;
this.dataSources = Binder.get(environment)
.bind(PREFIX, Bindable.mapOf(String.class, Object.class))
.orElseGet(HashMap::new);
.orElse(emptyMap());
}
@Autowired
@@ -172,7 +174,7 @@ public class DruidDataSourceConfiguration {
public void setEnvironment(Environment environment) {
this.dataSources = Binder.get(environment)
.bind(PREFIX, Bindable.mapOf(String.class, Object.class))
.orElseGet(HashMap::new);
.orElse(emptyMap());
}
@Override
@@ -1,13 +1,14 @@
package com.github.trang.druid.autoconfigure;
import com.alibaba.druid.pool.DruidDataSource;
import com.github.trang.druid.autoconfigure.datasource.init.DataSourceInitializerInvoker;
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Import;
import com.alibaba.druid.pool.DruidDataSource;
import com.github.trang.druid.autoconfigure.datasource.init.DataSourceInitializerInvoker;
/**
* 支持数据源初始化时执行 SQL
*
@@ -1,10 +1,9 @@
package com.github.trang.druid.autoconfigure;
import com.alibaba.druid.support.http.StatViewServlet;
import com.github.trang.druid.autoconfigure.properties.DruidDataSourceProperties;
import com.github.trang.druid.autoconfigure.properties.DruidDataSourceProperties.DruidStatViewServletProperties;
import static com.github.trang.druid.autoconfigure.properties.DruidDataSourceProperties.DruidConstants.DRUID_STAT_VIEW_SERVLET_PREFIX;
import javax.servlet.Servlet;
import lombok.extern.slf4j.Slf4j;
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplication;
@@ -13,9 +12,11 @@ import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.util.StringUtils;
import javax.servlet.Servlet;
import com.alibaba.druid.support.http.StatViewServlet;
import com.github.trang.druid.autoconfigure.properties.DruidDataSourceProperties;
import com.github.trang.druid.autoconfigure.properties.DruidDataSourceProperties.DruidStatViewServletProperties;
import static com.github.trang.druid.autoconfigure.properties.DruidDataSourceProperties.DruidConstants.*;
import lombok.extern.slf4j.Slf4j;
/**
* Druid Servlet 配置
@@ -36,7 +37,7 @@ public class DruidServletConfiguration {
* 2. 提供监控信息的 JSON API
*/
@Bean
public ServletRegistrationBean servletRegistrationBean(DruidDataSourceProperties druidProperties) {
public ServletRegistrationBean druidStatViewServlet(DruidDataSourceProperties druidProperties) {
log.debug("druid stat-view-servlet init...");
DruidStatViewServletProperties properties = druidProperties.getStatViewServlet();
ServletRegistrationBean<StatViewServlet> registration = new ServletRegistrationBean<>(new StatViewServlet());
@@ -1,11 +1,10 @@
package com.github.trang.druid.autoconfigure;
import com.alibaba.druid.support.http.WebStatFilter;
import com.alibaba.druid.support.spring.stat.DruidStatInterceptor;
import com.github.trang.druid.autoconfigure.properties.DruidDataSourceProperties;
import com.github.trang.druid.autoconfigure.properties.DruidDataSourceProperties.DruidAopStatProperties;
import com.github.trang.druid.autoconfigure.properties.DruidDataSourceProperties.DruidWebStatProperties;
import lombok.extern.slf4j.Slf4j;
import static com.github.trang.druid.autoconfigure.properties.DruidDataSourceProperties.DruidConstants.DRUID_AOP_STAT_PREFIX;
import static com.github.trang.druid.autoconfigure.properties.DruidDataSourceProperties.DruidConstants.DRUID_WEB_STAT_PREFIX;
import javax.servlet.Filter;
import org.aopalliance.aop.Advice;
import org.springframework.aop.framework.autoproxy.DefaultAdvisorAutoProxyCreator;
import org.springframework.aop.support.RegexpMethodPointcutAdvisor;
@@ -18,9 +17,13 @@ import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.util.StringUtils;
import javax.servlet.Filter;
import com.alibaba.druid.support.http.WebStatFilter;
import com.alibaba.druid.support.spring.stat.DruidStatInterceptor;
import com.github.trang.druid.autoconfigure.properties.DruidDataSourceProperties;
import com.github.trang.druid.autoconfigure.properties.DruidDataSourceProperties.DruidAopStatProperties;
import com.github.trang.druid.autoconfigure.properties.DruidDataSourceProperties.DruidWebStatProperties;
import static com.github.trang.druid.autoconfigure.properties.DruidDataSourceProperties.DruidConstants.*;
import lombok.extern.slf4j.Slf4j;
/**
* Druid 监控配置
@@ -55,7 +58,7 @@ public class DruidStatConfiguration {
}
@Bean
public DefaultAdvisorAutoProxyCreator druidStatProxyCreator() {
public DefaultAdvisorAutoProxyCreator druidStatProxy() {
log.debug("druid aop-stat init...");
DefaultAdvisorAutoProxyCreator druidStatProxyCreator = new DefaultAdvisorAutoProxyCreator();
druidStatProxyCreator.setProxyTargetClass(proxyTargetClass);
@@ -74,7 +77,7 @@ public class DruidStatConfiguration {
public static class DruidWebStatConfiguration {
@Bean
public FilterRegistrationBean filterRegistrationBean(DruidDataSourceProperties druidProperties) {
public FilterRegistrationBean druidWebStatFilter(DruidDataSourceProperties druidProperties) {
log.debug("druid web-stat-filter init...");
DruidWebStatProperties properties = druidProperties.getWebStat();
FilterRegistrationBean<WebStatFilter> registration = new FilterRegistrationBean<>(new WebStatFilter());
@@ -1,23 +1,25 @@
package com.github.trang.druid.autoconfigure.datasource;
import static com.github.trang.druid.autoconfigure.properties.DruidDataSourceProperties.DruidConstants.DRUID_DATA_SOURCE_PREFIX;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
import javax.annotation.PostConstruct;
import org.springframework.beans.factory.ObjectProvider;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.jdbc.DataSourceProperties;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.util.StringUtils;
import com.alibaba.druid.filter.Filter;
import com.alibaba.druid.filter.FilterAdapter;
import com.alibaba.druid.filter.config.ConfigFilter;
import com.alibaba.druid.pool.DruidDataSource;
import com.github.trang.druid.autoconfigure.properties.DruidDataSourceProperties;
import com.github.trang.druid.autoconfigure.properties.DruidDataSourceProperties.DruidConfigFilterProperties;
import org.springframework.beans.factory.ObjectProvider;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.jdbc.DataSourceProperties;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.util.StringUtils;
import javax.annotation.PostConstruct;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
import static com.github.trang.druid.autoconfigure.properties.DruidDataSourceProperties.DruidConstants.*;
/**
* Druid 多数据源支持,会自动注入 'spring.datasource' 和 'spring.datasource.druid' 配置
@@ -1,6 +1,11 @@
package com.github.trang.druid.autoconfigure.datasource.init;
import com.alibaba.druid.pool.DruidDataSource;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import javax.sql.DataSource;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.springframework.boot.autoconfigure.jdbc.DataSourceProperties;
@@ -16,10 +21,7 @@ import org.springframework.jdbc.datasource.init.DatabasePopulatorUtils;
import org.springframework.jdbc.datasource.init.ResourceDatabasePopulator;
import org.springframework.util.StringUtils;
import javax.sql.DataSource;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import com.alibaba.druid.pool.DruidDataSource;
/**
* Initialize {@link DataSource} List based on a matching {@link DataSourceProperties} config.
@@ -1,6 +1,10 @@
package com.github.trang.druid.autoconfigure.datasource.init;
import com.alibaba.druid.pool.DruidDataSource;
import java.util.ArrayList;
import java.util.List;
import javax.sql.DataSource;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.springframework.beans.factory.InitializingBean;
@@ -10,9 +14,7 @@ import org.springframework.boot.autoconfigure.jdbc.DataSourceSchemaCreatedEvent;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationListener;
import javax.sql.DataSource;
import java.util.ArrayList;
import java.util.List;
import com.alibaba.druid.pool.DruidDataSource;
/**
* Bean to handle {@link DataSource} initialization by running {@literal schema-*.sql} on
@@ -1,15 +1,17 @@
package com.github.trang.druid.autoconfigure.properties;
import com.alibaba.druid.pool.DruidDataSource;
import lombok.Getter;
import lombok.Setter;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.boot.context.properties.NestedConfigurationProperty;
import static com.github.trang.druid.autoconfigure.properties.DruidDataSourceProperties.DruidConstants.DRUID_DATA_SOURCE_PREFIX;
import java.util.HashMap;
import java.util.Map;
import static com.github.trang.druid.autoconfigure.properties.DruidDataSourceProperties.DruidConstants.*;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.boot.context.properties.NestedConfigurationProperty;
import com.alibaba.druid.pool.DruidDataSource;
import lombok.Getter;
import lombok.Setter;
/**
* Druid 自定义配置
@@ -17,7 +19,8 @@ import static com.github.trang.druid.autoconfigure.properties.DruidDataSourcePro
* @author trang
*/
@ConfigurationProperties(prefix = DRUID_DATA_SOURCE_PREFIX)
@Getter @Setter
@Getter
@Setter
public class DruidDataSourceProperties {
Map<String, DruidDataSource> dataSources = new HashMap<>(16);
@@ -1,10 +1,10 @@
package com.github.trang.druid.autoconfigure.util;
import org.springframework.util.StringUtils;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import org.springframework.util.StringUtils;
/**
* @author trang
*/
@@ -1,3 +1,3 @@
org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
com.github.trang.druid.autoconfigure.DruidAutoConfiguration,\
com.github.trang.druid.autoconfigure.DruidDataSourceInitializerAutoConfiguration
com.github.trang.druid.autoconfigure.DruidAutoConfiguration,\
com.github.trang.druid.autoconfigure.DruidDataSourceInitializerAutoConfiguration
@@ -1,13 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
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>
<groupId>com.github.drtrang</groupId>
<artifactId>druid-spring-boot2</artifactId>
<version>1.1.9</version>
<version>1.1.10</version>
</parent>
<artifactId>druid-spring-boot2-starter</artifactId>
+2 -3
View File
@@ -1,13 +1,12 @@
<?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"
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
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>
<groupId>com.github.drtrang</groupId>
<artifactId>druid-spring-boot2-parent</artifactId>
<version>1.1.9</version>
<version>1.1.10</version>
</parent>
<artifactId>druid-spring-boot2</artifactId>
+4 -7
View File
@@ -1,17 +1,17 @@
<?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"
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
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>
<groupId>com.github.drtrang</groupId>
<artifactId>parent2</artifactId>
<version>1.1.2</version>
<version>1.2.2</version>
</parent>
<groupId>com.github.drtrang</groupId>
<artifactId>druid-spring-boot2-parent</artifactId>
<version>1.1.9</version>
<version>1.1.10</version>
<packaging>pom</packaging>
<name>druid-spring-boot2-parent</name>
@@ -42,6 +42,7 @@
<connection>scm:git:https://github.com/drtrang/druid-spring-boot.git</connection>
<developerConnection>scm:git:git@github.com:drtrang/druid-spring-boot.git</developerConnection>
<url>https://github.com/drtrang/druid-spring-boot</url>
<tag>HEAD</tag>
</scm>
<issueManagement>
@@ -55,10 +56,6 @@
<module>druid-spring-boot-example</module>
</modules>
<properties>
<druid.version>1.1.9</druid.version>
</properties>
<dependencyManagement>
<dependencies>
<dependency>