pom
This commit is contained in:
donghaoliang
2018-05-28 17:55:22 +08:00
parent fd69a85c41
commit 3ad09f4f7c
46 changed files with 239 additions and 184 deletions
@@ -1,6 +1,5 @@
<?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>
@@ -1,12 +1,13 @@
package com.github.trang.druid.actuate;
import com.alibaba.druid.stat.DruidStatManagerFacade;
import org.springframework.boot.actuate.endpoint.AbstractEndpoint;
import org.springframework.boot.context.properties.ConfigurationProperties;
import java.util.List;
import java.util.Map;
import org.springframework.boot.actuate.endpoint.AbstractEndpoint;
import org.springframework.boot.context.properties.ConfigurationProperties;
import com.alibaba.druid.stat.DruidStatManagerFacade;
/**
* 将 Druid 的信息暴露出来
*
@@ -1,6 +1,9 @@
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.mvc.ActuatorMediaTypes;
import org.springframework.boot.actuate.endpoint.mvc.EndpointMvcAdapter;
import org.springframework.boot.actuate.endpoint.mvc.HypermediaDisabled;
@@ -11,9 +14,7 @@ import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.ResponseBody;
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.autoconfigure.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.autoconfigure.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,6 +1,5 @@
<?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>
+1 -2
View File
@@ -1,6 +1,5 @@
<?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>
@@ -1,6 +1,5 @@
<?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>
@@ -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,12 +1,13 @@
package com.github.trang.druid.example.jpa.test.coveralls;
import com.github.trang.druid.example.jpa.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.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,6 +1,5 @@
<?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>
@@ -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;
/**
* 单数据源测试
+1 -2
View File
@@ -1,6 +1,5 @@
<?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>
@@ -1,6 +1,5 @@
<?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>
@@ -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,12 @@
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 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;
@@ -21,12 +23,12 @@ import org.springframework.core.env.ConfigurableEnvironment;
import org.springframework.core.env.Environment;
import org.springframework.core.type.AnnotationMetadata;
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 数据源配置
@@ -1,6 +1,7 @@
package com.github.trang.druid.autoconfigure;
import com.github.trang.druid.autoconfigure.datasource.init.DruidDataSourceInitializer;
import javax.sql.DataSource;
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
@@ -10,7 +11,7 @@ import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import javax.sql.DataSource;
import com.github.trang.druid.autoconfigure.datasource.init.DruidDataSourceInitializer;
/**
* 支持数据源初始化时执行 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 配置
@@ -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 监控配置
@@ -1,22 +1,24 @@
package com.github.trang.druid.autoconfigure.datasource;
import static com.github.trang.druid.autoconfigure.properties.DruidDataSourceProperties.DruidConstants.DRUID_DATA_SOURCE_PREFIX;
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.List;
import java.util.Objects;
import static com.github.trang.druid.autoconfigure.properties.DruidDataSourceProperties.DruidConstants.*;
/**
* Druid 多数据源支持,会自动注入 'spring.datasource' 和 'spring.datasource.druid' 配置
@@ -1,8 +1,13 @@
package com.github.trang.druid.autoconfigure.datasource.init;
import com.alibaba.druid.pool.DruidDataSource;
import com.github.trang.druid.autoconfigure.DruidDataSourceInitializerAutoConfiguration;
import lombok.extern.slf4j.Slf4j;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Map;
import javax.annotation.PostConstruct;
import javax.sql.DataSource;
import org.springframework.boot.autoconfigure.jdbc.DataSourceBuilder;
import org.springframework.boot.autoconfigure.jdbc.DataSourceProperties;
import org.springframework.boot.context.config.ResourceNotFoundException;
@@ -13,12 +18,10 @@ import org.springframework.jdbc.datasource.init.DatabasePopulatorUtils;
import org.springframework.jdbc.datasource.init.ResourceDatabasePopulator;
import org.springframework.util.StringUtils;
import javax.annotation.PostConstruct;
import javax.sql.DataSource;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Map;
import com.alibaba.druid.pool.DruidDataSource;
import com.github.trang.druid.autoconfigure.DruidDataSourceInitializerAutoConfiguration;
import lombok.extern.slf4j.Slf4j;
/**
* Bean to handle {@link DataSource} initialization by running {@literal schema-*.sql} on {@link PostConstruct}.
@@ -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,6 +1,5 @@
<?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>
+1 -2
View File
@@ -1,6 +1,5 @@
<?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>
+3 -6
View File
@@ -1,12 +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>parent</artifactId>
<version>1.1.3</version>
<version>1.2.2</version>
</parent>
<groupId>com.github.drtrang</groupId>
@@ -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>