备份
This commit is contained in:
@@ -65,6 +65,10 @@
|
||||
<groupId>com.alibaba</groupId>
|
||||
<artifactId>druid</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.alibaba</groupId>
|
||||
<artifactId>druid-spring-boot-starter</artifactId>
|
||||
</dependency>
|
||||
<!--表单校验相关依赖-->
|
||||
<dependency>
|
||||
<groupId>org.hibernate</groupId>
|
||||
|
||||
+2
-2
@@ -19,7 +19,7 @@ public class SalveDataSourceCondition implements Condition {
|
||||
public boolean matches(ConditionContext conditionContext, AnnotatedTypeMetadata annotatedTypeMetadata) {
|
||||
Environment environment = conditionContext.getEnvironment();
|
||||
//判断环境中是否有从数据库的配置
|
||||
logger.info("是否包含从数据库: {}",environment.containsProperty("jdbc.slave.username"));
|
||||
return environment.containsProperty("jdbc.slave.username");
|
||||
logger.info("是否包含从数据库: {}",environment.containsProperty("druid.two.username"));
|
||||
return environment.containsProperty("druid.two.username");
|
||||
}
|
||||
}
|
||||
|
||||
-262
@@ -1,262 +0,0 @@
|
||||
package com.micro.fast.common.config;
|
||||
|
||||
import com.alibaba.druid.pool.DruidDataSource;
|
||||
import com.alibaba.druid.support.http.StatViewServlet;
|
||||
import com.alibaba.druid.support.http.WebStatFilter;
|
||||
import com.alibaba.druid.support.spring.stat.DruidStatInterceptor;
|
||||
import com.micro.fast.common.config.param.DruidMasterParamConfig;
|
||||
import com.micro.fast.common.config.param.JdbcConnectionMasterParamConfig;
|
||||
import com.micro.fast.util.AESUtil;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.boot.autoconfigure.AutoConfigureBefore;
|
||||
import org.springframework.boot.web.servlet.FilterRegistrationBean;
|
||||
import org.springframework.boot.web.servlet.ServletRegistrationBean;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
|
||||
import javax.sql.DataSource;
|
||||
import java.sql.SQLException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* 替换默认的数据源,使用自定义的druid数据源 主数据库
|
||||
* @author lishouyu
|
||||
* @version 1.0
|
||||
* @since 1.0
|
||||
*/
|
||||
@Configuration
|
||||
@AutoConfigureBefore({DynamicDataSourceConfig.class})
|
||||
public class DataSourceMasterConfig {
|
||||
|
||||
private static final Logger logger = LoggerFactory.getLogger(DataSourceMasterConfig.class);
|
||||
|
||||
/**
|
||||
* jdbc连接参数配置对象
|
||||
* @see com.micro.fast.common.config.param.JdbcConnectionMasterParamConfig
|
||||
*/
|
||||
@Autowired
|
||||
private JdbcConnectionMasterParamConfig jdbcConnectionMasterParamConfig;
|
||||
|
||||
/**
|
||||
* druid数据库连接池参数配置对象
|
||||
* @see com.micro.fast.common.config.param.DruidMasterParamConfig
|
||||
*/
|
||||
@Autowired
|
||||
private DruidMasterParamConfig druidMasterParamConfig;
|
||||
|
||||
/**
|
||||
* 注册druid的监控视图servlet
|
||||
* @return servletRegistrationBean
|
||||
*/
|
||||
@Bean(name = "masterDruidServlet")
|
||||
public ServletRegistrationBean servletRegistrationBean() {
|
||||
ServletRegistrationBean servletRegistrationBean = new ServletRegistrationBean();
|
||||
//1.注册servlet
|
||||
servletRegistrationBean.setServlet(new StatViewServlet());
|
||||
//2.设置servlet初始化的参数,如果传入了参数默认的配置就不会生效
|
||||
Map<String, String> initParams = new HashMap<>();
|
||||
ArrayList<String> servletInitParams = druidMasterParamConfig.getServletInitParams();
|
||||
if (servletInitParams != null && !servletInitParams.isEmpty()) {
|
||||
for (String param: servletInitParams) {
|
||||
String[] keyValue = param.split(":");
|
||||
String key = keyValue[0];
|
||||
String value = keyValue[1];
|
||||
initParams.put(key, value);
|
||||
if (logger.isInfoEnabled()) {
|
||||
logger.info("micro-fast common druidServletParam使用自定义的配置");
|
||||
logger.info("micro-fast common 添加druidServletParam {}:{}", key, value);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
//设置登录密码
|
||||
initParams.put("loginUsername", "micro");
|
||||
initParams.put("loginPassword", "fast");
|
||||
//设置能否重置
|
||||
initParams.put("resetEnable", "false");
|
||||
//deny优先于allow
|
||||
initParams.put("allow", "127.0.0.1,172.17.0.1,fthipw.natappfree.cc,fthipw.natappfree.cc");
|
||||
//initParams.put("deny","213.122.232.233");
|
||||
if (logger.isInfoEnabled()) {
|
||||
logger.info("micro-fast common druidServletParam使用默认的配置");
|
||||
logger.info("micro-fast common 添加druidServletParam loginUsername:micro");
|
||||
logger.info("micro-fast common 添加druidServletParam loginPassword:fast");
|
||||
logger.info("micro-fast common 添加druidServletParam resetEnable:false");
|
||||
logger.info("micro-fast common 添加druidServletParam allow:127.0.0.1");
|
||||
}
|
||||
}
|
||||
servletRegistrationBean.setInitParameters(initParams);
|
||||
|
||||
//3.设置访问druid的servlet的地址
|
||||
String servletUrl = druidMasterParamConfig.getServletUrl();
|
||||
if (servletUrl != null) {
|
||||
servletRegistrationBean.addUrlMappings(servletUrl);
|
||||
if (logger.isInfoEnabled()) {
|
||||
logger.info("micro-fast common druidServlet使用自定义访问地址:{}", servletUrl);
|
||||
}
|
||||
} else {
|
||||
servletRegistrationBean.addUrlMappings("/druid/*");
|
||||
if (logger.isInfoEnabled()) {
|
||||
logger.info("micro-fast common druidServlet使用默认访问地址:{}", "/druid/*");
|
||||
}
|
||||
}
|
||||
return servletRegistrationBean;
|
||||
}
|
||||
|
||||
/**
|
||||
* 注册druid过滤器用于对url的执行sql进行监控
|
||||
* @return filterRegistrationBean
|
||||
*/
|
||||
@Bean
|
||||
public FilterRegistrationBean filterRegistrationBean() {
|
||||
FilterRegistrationBean filterRegistrationBean = new FilterRegistrationBean();
|
||||
filterRegistrationBean.setFilter(new WebStatFilter());
|
||||
Map<String, String> initParams = new HashMap<>();
|
||||
//设置忽略请求
|
||||
initParams.put("exclusions", "*.js,*.gif,*.jpg,*.bmp,*.png,*.css,*.ico,/static/*,/druid/*");
|
||||
if (logger.isInfoEnabled()) {
|
||||
logger.info("micro-fast common druidFilter使用默认不拦截的patterns:{}", "*.js,*.gif,*.jpg,*.bmp,*.png,*.css,*.ico,/static/*,/druid/*");
|
||||
}
|
||||
filterRegistrationBean.setInitParameters(initParams);
|
||||
filterRegistrationBean.addUrlPatterns("/*");
|
||||
return filterRegistrationBean;
|
||||
}
|
||||
|
||||
/**
|
||||
* spring-druid监控配置
|
||||
* @return druidStatInterceptor
|
||||
*/
|
||||
@Bean(value = "druid-stat-interceptor")
|
||||
public DruidStatInterceptor druidStatInterceptor() {
|
||||
DruidStatInterceptor druidStatInterceptor = new DruidStatInterceptor();
|
||||
return druidStatInterceptor;
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置要拦截统计的bean,根据BeanId来设置拦截配置,用来bean的监控
|
||||
* @return beanNameAutoProxyCreator
|
||||
*/
|
||||
@Bean
|
||||
public BeanNameAutoProxyCreator beanNameAutoProxyCreator() {
|
||||
BeanNameAutoProxyCreator beanNameAutoProxyCreator = new BeanNameAutoProxyCreator();
|
||||
beanNameAutoProxyCreator.setProxyTargetClass(true);
|
||||
//设置要监控的bean的id,多个请使用逗号分割
|
||||
String beanNames = druidMasterParamConfig.getBeanNames();
|
||||
if (StringUtils.isNotEmpty(beanNames)) {
|
||||
beanNameAutoProxyCreator.setBeanNames(beanNames);
|
||||
if (logger.isInfoEnabled()) {
|
||||
logger.info("micro-fast common druid要监控的bean的ids: {}", beanNames);
|
||||
}
|
||||
}
|
||||
//要使用的拦截器
|
||||
beanNameAutoProxyCreator.setInterceptorNames("druid-stat-interceptor");
|
||||
return beanNameAutoProxyCreator;
|
||||
}
|
||||
|
||||
/**
|
||||
* 数据源
|
||||
* @return druidDataSource
|
||||
*/
|
||||
@Bean(name = "masterDataSource")
|
||||
public DataSource druidDataSource() {
|
||||
DruidDataSource druidDataSource = new DruidDataSource();
|
||||
//数据库连接的相关配置
|
||||
druidDataSource.setUsername(jdbcConnectionMasterParamConfig.getUsername());
|
||||
druidDataSource.setPassword(AESUtil.AESDecode(jdbcConnectionMasterParamConfig.getPassword()));
|
||||
druidDataSource.setUrl(jdbcConnectionMasterParamConfig.getUrl());
|
||||
druidDataSource.setDriverClassName(jdbcConnectionMasterParamConfig.getDriverClass());
|
||||
if (logger.isInfoEnabled()) {
|
||||
logger.info("micro-fast common jdbc: username:{} ", jdbcConnectionMasterParamConfig.getUsername());
|
||||
logger.info("micro-fast common jdbc: 加密后的password:{} ", jdbcConnectionMasterParamConfig.getPassword());
|
||||
logger.info("micro-fast common jdbc: url:{} ", jdbcConnectionMasterParamConfig.getUrl());
|
||||
logger.info("micro-fast common jdbc: driverClass:{} ", jdbcConnectionMasterParamConfig.getDriverClass());
|
||||
}
|
||||
//连接池的具体配置
|
||||
if (druidMasterParamConfig.getDefaultAutoCommit() != null) {
|
||||
druidDataSource.setDefaultAutoCommit(druidMasterParamConfig.getDefaultAutoCommit());
|
||||
if (logger.isInfoEnabled()) {
|
||||
logger.info("micro-fast common druidPoolConfig: defaultAutoCommit:{}", druidMasterParamConfig.getDefaultAutoCommit());
|
||||
}
|
||||
} else {
|
||||
druidDataSource.setDefaultAutoCommit(true);
|
||||
if (logger.isInfoEnabled()) {
|
||||
logger.info("micro-fast common druidPoolConfig: defaultAutoCommit:{}", true);
|
||||
}
|
||||
}
|
||||
|
||||
if (druidMasterParamConfig.getInitialSize() != null) {
|
||||
druidDataSource.setInitialSize(druidMasterParamConfig.getInitialSize());
|
||||
if (logger.isInfoEnabled()) {
|
||||
logger.info("micro-fast common druidPoolConfig: initialSize:{}", druidMasterParamConfig.getInitialSize());
|
||||
}
|
||||
} else {
|
||||
druidDataSource.setInitialSize(20);
|
||||
if (logger.isInfoEnabled()) {
|
||||
logger.info("micro-fast common druidPoolConfig: initialSize:{}", 20);
|
||||
}
|
||||
}
|
||||
|
||||
if(druidMasterParamConfig.getMaxActive() != null) {
|
||||
druidDataSource.setMaxActive(druidMasterParamConfig.getMaxActive());
|
||||
if (logger.isInfoEnabled()) {
|
||||
logger.info("micro-fast common druidPoolConfig: maxActive:{}", druidMasterParamConfig.getMaxActive());
|
||||
}
|
||||
} else {
|
||||
druidDataSource.setMaxActive(50);
|
||||
if (logger.isInfoEnabled()) {
|
||||
logger.info("micro-fast common druidPoolConfig: maxActive:{}", 50);
|
||||
}
|
||||
}
|
||||
|
||||
if(druidMasterParamConfig.getMinIdle() != null) {
|
||||
druidDataSource.setMinIdle(druidMasterParamConfig.getMinIdle());
|
||||
if (logger.isInfoEnabled()) {
|
||||
logger.info("micro-fast common druidPoolConfig: minIdle:{}", druidMasterParamConfig.getMinIdle());
|
||||
}
|
||||
} else {
|
||||
druidDataSource.setMinIdle(10);
|
||||
if (logger.isInfoEnabled()) {
|
||||
logger.info("micro-fast common druidPoolConfig: minIdle:{}", 10);
|
||||
}
|
||||
}
|
||||
|
||||
if(druidMasterParamConfig.getMaxWait() != null) {
|
||||
druidDataSource.setMaxWait(druidMasterParamConfig.getMaxWait());
|
||||
if (logger.isInfoEnabled()) {
|
||||
logger.info("micro-fast common druidPoolConfig: maxWait:{}", druidMasterParamConfig.getMaxWait());
|
||||
}
|
||||
} else {
|
||||
druidDataSource.setMaxWait(1000);
|
||||
if (logger.isInfoEnabled()) {
|
||||
logger.info("micro-fast common druidPoolConfig: maxWait:{}", 1000);
|
||||
}
|
||||
}
|
||||
|
||||
if (druidMasterParamConfig.getMinEvictableIdleTimeMillis() != null) {
|
||||
druidDataSource.setMinEvictableIdleTimeMillis(druidMasterParamConfig.getMinEvictableIdleTimeMillis());
|
||||
if (logger.isInfoEnabled()) {
|
||||
logger.info("micro-fast common druidPoolConfig: minEvictableIdleTimeMillis:{}", druidMasterParamConfig.getMinEvictableIdleTimeMillis());
|
||||
}
|
||||
} else {
|
||||
druidDataSource.setMinEvictableIdleTimeMillis(3600000);
|
||||
if (logger.isInfoEnabled()) {
|
||||
logger.info("micro-fast common druidPoolConfig: minEvictableIdleTimeMillis:{}", 3600000);
|
||||
}
|
||||
}
|
||||
|
||||
try {
|
||||
//开启sql监控
|
||||
druidDataSource.setFilters("stat,wall");
|
||||
} catch (SQLException e) {
|
||||
if (logger.isErrorEnabled()) {
|
||||
logger.error("设置过滤器失败", e);
|
||||
}
|
||||
}
|
||||
return druidDataSource;
|
||||
}
|
||||
}
|
||||
-148
@@ -1,148 +0,0 @@
|
||||
package com.micro.fast.common.config;
|
||||
|
||||
import com.alibaba.druid.pool.DruidDataSource;
|
||||
import com.micro.fast.common.condition.SalveDataSourceCondition;
|
||||
import com.micro.fast.common.config.param.DruidSlaveParamConfig;
|
||||
import com.micro.fast.common.config.param.JdbcConnectionSlaveParamConfig;
|
||||
import com.micro.fast.util.AESUtil;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.boot.autoconfigure.AutoConfigureBefore;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Conditional;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
|
||||
import javax.sql.DataSource;
|
||||
import java.sql.SQLException;
|
||||
import java.util.ArrayList;
|
||||
|
||||
/**
|
||||
* 替换默认的数据源,使用自定义的druid数据源 从数据库
|
||||
* @author lishouyu
|
||||
* @version 1.0
|
||||
* @since 1.0
|
||||
*/
|
||||
@Configuration
|
||||
@AutoConfigureBefore({DynamicDataSourceConfig.class})
|
||||
@Conditional(SalveDataSourceCondition.class)//根据SalveDataSourceCondition条件化装配bean
|
||||
public class DataSourceSlaveConfig {
|
||||
|
||||
private static final Logger logger = LoggerFactory.getLogger(DataSourceSlaveConfig.class);
|
||||
|
||||
/**
|
||||
* jdbc连接参数配置对象
|
||||
* @see JdbcConnectionSlaveParamConfig
|
||||
*/
|
||||
@Autowired(required = false)
|
||||
private JdbcConnectionSlaveParamConfig jdbcConnectionSlaveParamConfig;
|
||||
|
||||
/**
|
||||
* druid数据库连接池参数配置对象
|
||||
* @see DruidSlaveParamConfig
|
||||
*/
|
||||
@Autowired(required = false)
|
||||
private DruidSlaveParamConfig druidSlaveParamConfig;
|
||||
|
||||
/**
|
||||
* 数据源
|
||||
* @return slaveDruidDataSource
|
||||
*/
|
||||
@Bean(name = "slaveDataSource")
|
||||
public DataSource druidDataSource() {
|
||||
DruidDataSource druidDataSource = new DruidDataSource();
|
||||
//数据库连接的相关配置
|
||||
druidDataSource.setUsername(jdbcConnectionSlaveParamConfig.getUsername());
|
||||
druidDataSource.setPassword(AESUtil.AESDecode(jdbcConnectionSlaveParamConfig.getPassword()));
|
||||
druidDataSource.setUrl(jdbcConnectionSlaveParamConfig.getUrl());
|
||||
druidDataSource.setDriverClassName(jdbcConnectionSlaveParamConfig.getDriverClass());
|
||||
if (logger.isInfoEnabled()) {
|
||||
logger.info("micro-fast common jdbc: username:{} ", jdbcConnectionSlaveParamConfig.getUsername());
|
||||
logger.info("micro-fast common jdbc: 加密后的password:{} ", jdbcConnectionSlaveParamConfig.getPassword());
|
||||
logger.info("micro-fast common jdbc: url:{} ", jdbcConnectionSlaveParamConfig.getUrl());
|
||||
logger.info("micro-fast common jdbc: driverClass:{} ", jdbcConnectionSlaveParamConfig.getDriverClass());
|
||||
}
|
||||
//连接池的具体配置
|
||||
if (druidSlaveParamConfig.getDefaultAutoCommit() != null) {
|
||||
druidDataSource.setDefaultAutoCommit(druidSlaveParamConfig.getDefaultAutoCommit());
|
||||
if (logger.isInfoEnabled()) {
|
||||
logger.info("micro-fast common druidPoolConfig: defaultAutoCommit:{}", druidSlaveParamConfig.getDefaultAutoCommit());
|
||||
}
|
||||
} else {
|
||||
druidDataSource.setDefaultAutoCommit(true);
|
||||
if (logger.isInfoEnabled()) {
|
||||
logger.info("micro-fast common druidPoolConfig: defaultAutoCommit:{}", true);
|
||||
}
|
||||
}
|
||||
|
||||
if (druidSlaveParamConfig.getInitialSize() != null) {
|
||||
druidDataSource.setInitialSize(druidSlaveParamConfig.getInitialSize());
|
||||
if (logger.isInfoEnabled()) {
|
||||
logger.info("micro-fast common druidPoolConfig: initialSize:{}", druidSlaveParamConfig.getInitialSize());
|
||||
}
|
||||
} else {
|
||||
druidDataSource.setInitialSize(20);
|
||||
if (logger.isInfoEnabled()) {
|
||||
logger.info("micro-fast common druidPoolConfig: initialSize:{}", 20);
|
||||
}
|
||||
}
|
||||
|
||||
if(druidSlaveParamConfig.getMaxActive() != null) {
|
||||
druidDataSource.setMaxActive(druidSlaveParamConfig.getMaxActive());
|
||||
if (logger.isInfoEnabled()) {
|
||||
logger.info("micro-fast common druidPoolConfig: maxActive:{}", druidSlaveParamConfig.getMaxActive());
|
||||
}
|
||||
} else {
|
||||
druidDataSource.setMaxActive(50);
|
||||
if (logger.isInfoEnabled()) {
|
||||
logger.info("micro-fast common druidPoolConfig: maxActive:{}", 50);
|
||||
}
|
||||
}
|
||||
|
||||
if(druidSlaveParamConfig.getMinIdle() != null) {
|
||||
druidDataSource.setMinIdle(druidSlaveParamConfig.getMinIdle());
|
||||
if (logger.isInfoEnabled()) {
|
||||
logger.info("micro-fast common druidPoolConfig: minIdle:{}", druidSlaveParamConfig.getMinIdle());
|
||||
}
|
||||
} else {
|
||||
druidDataSource.setMinIdle(10);
|
||||
if (logger.isInfoEnabled()) {
|
||||
logger.info("micro-fast common druidPoolConfig: minIdle:{}", 10);
|
||||
}
|
||||
}
|
||||
|
||||
if(druidSlaveParamConfig.getMaxWait() != null) {
|
||||
druidDataSource.setMaxWait(druidSlaveParamConfig.getMaxWait());
|
||||
if (logger.isInfoEnabled()) {
|
||||
logger.info("micro-fast common druidPoolConfig: maxWait:{}", druidSlaveParamConfig.getMaxWait());
|
||||
}
|
||||
} else {
|
||||
druidDataSource.setMaxWait(1000);
|
||||
if (logger.isInfoEnabled()) {
|
||||
logger.info("micro-fast common druidPoolConfig: maxWait:{}", 1000);
|
||||
}
|
||||
}
|
||||
|
||||
if (druidSlaveParamConfig.getMinEvictableIdleTimeMillis() != null) {
|
||||
druidDataSource.setMinEvictableIdleTimeMillis(druidSlaveParamConfig.getMinEvictableIdleTimeMillis());
|
||||
if (logger.isInfoEnabled()) {
|
||||
logger.info("micro-fast common druidPoolConfig: minEvictableIdleTimeMillis:{}", druidSlaveParamConfig.getMinEvictableIdleTimeMillis());
|
||||
}
|
||||
} else {
|
||||
druidDataSource.setMinEvictableIdleTimeMillis(3600000);
|
||||
if (logger.isInfoEnabled()) {
|
||||
logger.info("micro-fast common druidPoolConfig: minEvictableIdleTimeMillis:{}", 3600000);
|
||||
}
|
||||
}
|
||||
|
||||
try {
|
||||
//开启sql监控
|
||||
druidDataSource.setFilters("stat,wall");
|
||||
} catch (SQLException e) {
|
||||
if (logger.isErrorEnabled()) {
|
||||
logger.error("设置过滤器失败", e);
|
||||
}
|
||||
}
|
||||
return druidDataSource;
|
||||
}
|
||||
}
|
||||
+27
@@ -0,0 +1,27 @@
|
||||
package com.micro.fast.common.config;
|
||||
|
||||
import com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceBuilder;
|
||||
import org.springframework.boot.context.properties.ConfigurationProperties;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Conditional;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.context.annotation.Primary;
|
||||
|
||||
import javax.sql.DataSource;
|
||||
|
||||
@Configuration
|
||||
public class DruidDataSourceConfig {
|
||||
@Primary
|
||||
@Bean(name = "masterDataSource")
|
||||
@ConfigurationProperties("druid.one")
|
||||
public DataSource dataSourceOne(){
|
||||
return DruidDataSourceBuilder.create().build();
|
||||
}
|
||||
|
||||
@Bean(name = "slaveDataSource")
|
||||
@ConfigurationProperties("druid.two")
|
||||
@Conditional(com.micro.fast.common.condition.SalveDataSourceCondition.class)
|
||||
public DataSource dataSourceTwo(){
|
||||
return DruidDataSourceBuilder.create().build();
|
||||
}
|
||||
}
|
||||
-1
@@ -37,7 +37,6 @@ public class DynamicDataSourceConfig {
|
||||
private DataSource slaveDataSource;
|
||||
|
||||
@Bean(name = "dynamicDataSource")
|
||||
@Primary
|
||||
public DataSource dynamicDataSource(){
|
||||
//动态数据源对象
|
||||
DynamicDataSource dynamicDataSource = new DynamicDataSource();
|
||||
|
||||
-136
@@ -1,136 +0,0 @@
|
||||
package com.micro.fast.common.config.param;
|
||||
|
||||
import org.springframework.boot.autoconfigure.AutoConfigureBefore;
|
||||
import org.springframework.boot.context.properties.ConfigurationProperties;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
/**
|
||||
* druid数据库连接池的相关配置参数类 主数据库
|
||||
* @author lishouyu
|
||||
* @version 1.0
|
||||
* @since 1.0
|
||||
*/
|
||||
@Configuration
|
||||
@AutoConfigureBefore(com.micro.fast.common.config.DataSourceMasterConfig.class)
|
||||
@ConfigurationProperties(prefix = "druid.master")
|
||||
public class DruidMasterParamConfig {
|
||||
|
||||
/**
|
||||
* druid数据连接池的servlet的初始化参数
|
||||
*/
|
||||
private ArrayList<String> servletInitParams;
|
||||
|
||||
/**
|
||||
* druid数据库连接池的访问路径
|
||||
*/
|
||||
private String servletUrl;
|
||||
|
||||
/**
|
||||
* druid要监控的bean的名字,多个使用逗号分割
|
||||
*/
|
||||
private String beanNames;
|
||||
|
||||
/**
|
||||
* 事务是否自动提交
|
||||
*/
|
||||
private Boolean defaultAutoCommit;
|
||||
|
||||
/**
|
||||
* 连接池的初始化大小
|
||||
*/
|
||||
private Integer initialSize;
|
||||
|
||||
/**
|
||||
* 连接池的最大的数量
|
||||
*/
|
||||
private Integer maxActive;
|
||||
|
||||
/**
|
||||
* 连接池的最小空闲数量
|
||||
*/
|
||||
private Integer minIdle;
|
||||
|
||||
/**
|
||||
* 当连接池中连接已经用完了,等待建立一个新连接的最大毫秒数
|
||||
*/
|
||||
private Integer maxWait;
|
||||
|
||||
/**
|
||||
* 到达多长时间释放连接池
|
||||
*/
|
||||
private Integer minEvictableIdleTimeMillis;
|
||||
|
||||
public ArrayList<String> getServletInitParams() {
|
||||
return servletInitParams;
|
||||
}
|
||||
|
||||
public void setServletInitParams(ArrayList<String> servletInitParams) {
|
||||
this.servletInitParams = servletInitParams;
|
||||
}
|
||||
|
||||
public String getServletUrl() {
|
||||
return servletUrl;
|
||||
}
|
||||
|
||||
public void setServletUrl(String servletUrl) {
|
||||
this.servletUrl = servletUrl;
|
||||
}
|
||||
|
||||
public String getBeanNames() {
|
||||
return beanNames;
|
||||
}
|
||||
|
||||
public void setBeanNames(String beanNames) {
|
||||
this.beanNames = beanNames;
|
||||
}
|
||||
|
||||
public Boolean getDefaultAutoCommit() {
|
||||
return defaultAutoCommit;
|
||||
}
|
||||
|
||||
public void setDefaultAutoCommit(Boolean defaultAutoCommit) {
|
||||
this.defaultAutoCommit = defaultAutoCommit;
|
||||
}
|
||||
|
||||
public Integer getInitialSize() {
|
||||
return initialSize;
|
||||
}
|
||||
|
||||
public void setInitialSize(Integer initialSize) {
|
||||
this.initialSize = initialSize;
|
||||
}
|
||||
|
||||
public Integer getMaxActive() {
|
||||
return maxActive;
|
||||
}
|
||||
|
||||
public void setMaxActive(Integer maxActive) {
|
||||
this.maxActive = maxActive;
|
||||
}
|
||||
|
||||
public Integer getMinIdle() {
|
||||
return minIdle;
|
||||
}
|
||||
|
||||
public void setMinIdle(Integer minIdle) {
|
||||
this.minIdle = minIdle;
|
||||
}
|
||||
|
||||
public Integer getMaxWait() {
|
||||
return maxWait;
|
||||
}
|
||||
|
||||
public void setMaxWait(Integer maxWait) {
|
||||
this.maxWait = maxWait;
|
||||
}
|
||||
|
||||
public Integer getMinEvictableIdleTimeMillis() {
|
||||
return minEvictableIdleTimeMillis;
|
||||
}
|
||||
|
||||
public void setMinEvictableIdleTimeMillis(Integer minEvictableIdleTimeMillis) {
|
||||
this.minEvictableIdleTimeMillis = minEvictableIdleTimeMillis;
|
||||
}
|
||||
}
|
||||
-139
@@ -1,139 +0,0 @@
|
||||
package com.micro.fast.common.config.param;
|
||||
|
||||
import com.micro.fast.common.condition.SalveDataSourceCondition;
|
||||
import org.springframework.boot.autoconfigure.AutoConfigureBefore;
|
||||
import org.springframework.boot.context.properties.ConfigurationProperties;
|
||||
import org.springframework.context.annotation.Conditional;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
/**
|
||||
* druid数据库连接池的相关配置参数类
|
||||
* @author lishouyu
|
||||
* @version 1.0
|
||||
* @since 1.0
|
||||
*/
|
||||
@Configuration
|
||||
@Conditional(SalveDataSourceCondition.class)//根据SalveDataSourceCondition条件化装配bean
|
||||
@AutoConfigureBefore(com.micro.fast.common.config.DataSourceSlaveConfig.class)
|
||||
@ConfigurationProperties(prefix = "druid.slave")
|
||||
public class DruidSlaveParamConfig {
|
||||
|
||||
/**
|
||||
* druid数据连接池的servlet的初始化参数
|
||||
*/
|
||||
private ArrayList<String> servletInitParams;
|
||||
|
||||
/**
|
||||
* druid数据库连接池的访问路径
|
||||
*/
|
||||
private String servletUrl;
|
||||
|
||||
/**
|
||||
* druid要监控的bean的名字,多个使用逗号分割
|
||||
*/
|
||||
private String beanNames;
|
||||
|
||||
/**
|
||||
* 事务是否自动提交
|
||||
*/
|
||||
private Boolean defaultAutoCommit;
|
||||
|
||||
/**
|
||||
* 连接池的初始化大小
|
||||
*/
|
||||
private Integer initialSize;
|
||||
|
||||
/**
|
||||
* 连接池的最大的数量
|
||||
*/
|
||||
private Integer maxActive;
|
||||
|
||||
/**
|
||||
* 连接池的最小空闲数量
|
||||
*/
|
||||
private Integer minIdle;
|
||||
|
||||
/**
|
||||
* 当连接池中连接已经用完了,等待建立一个新连接的最大毫秒数
|
||||
*/
|
||||
private Integer maxWait;
|
||||
|
||||
/**
|
||||
* 到达多长时间释放连接池
|
||||
*/
|
||||
private Integer minEvictableIdleTimeMillis;
|
||||
|
||||
public ArrayList<String> getServletInitParams() {
|
||||
return servletInitParams;
|
||||
}
|
||||
|
||||
public void setServletInitParams(ArrayList<String> servletInitParams) {
|
||||
this.servletInitParams = servletInitParams;
|
||||
}
|
||||
|
||||
public String getServletUrl() {
|
||||
return servletUrl;
|
||||
}
|
||||
|
||||
public void setServletUrl(String servletUrl) {
|
||||
this.servletUrl = servletUrl;
|
||||
}
|
||||
|
||||
public String getBeanNames() {
|
||||
return beanNames;
|
||||
}
|
||||
|
||||
public void setBeanNames(String beanNames) {
|
||||
this.beanNames = beanNames;
|
||||
}
|
||||
|
||||
public Boolean getDefaultAutoCommit() {
|
||||
return defaultAutoCommit;
|
||||
}
|
||||
|
||||
public void setDefaultAutoCommit(Boolean defaultAutoCommit) {
|
||||
this.defaultAutoCommit = defaultAutoCommit;
|
||||
}
|
||||
|
||||
public Integer getInitialSize() {
|
||||
return initialSize;
|
||||
}
|
||||
|
||||
public void setInitialSize(Integer initialSize) {
|
||||
this.initialSize = initialSize;
|
||||
}
|
||||
|
||||
public Integer getMaxActive() {
|
||||
return maxActive;
|
||||
}
|
||||
|
||||
public void setMaxActive(Integer maxActive) {
|
||||
this.maxActive = maxActive;
|
||||
}
|
||||
|
||||
public Integer getMinIdle() {
|
||||
return minIdle;
|
||||
}
|
||||
|
||||
public void setMinIdle(Integer minIdle) {
|
||||
this.minIdle = minIdle;
|
||||
}
|
||||
|
||||
public Integer getMaxWait() {
|
||||
return maxWait;
|
||||
}
|
||||
|
||||
public void setMaxWait(Integer maxWait) {
|
||||
this.maxWait = maxWait;
|
||||
}
|
||||
|
||||
public Integer getMinEvictableIdleTimeMillis() {
|
||||
return minEvictableIdleTimeMillis;
|
||||
}
|
||||
|
||||
public void setMinEvictableIdleTimeMillis(Integer minEvictableIdleTimeMillis) {
|
||||
this.minEvictableIdleTimeMillis = minEvictableIdleTimeMillis;
|
||||
}
|
||||
}
|
||||
-73
@@ -1,73 +0,0 @@
|
||||
package com.micro.fast.common.config.param;
|
||||
|
||||
import org.springframework.boot.autoconfigure.AutoConfigureBefore;
|
||||
import org.springframework.boot.context.properties.ConfigurationProperties;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
|
||||
import javax.validation.constraints.NotNull;
|
||||
|
||||
/**
|
||||
* 对jdbc连接参数进行从配置文件中读取,校验不能为空 主数据库
|
||||
* @author lishouyu 18332763730@163.com 2017/10/02
|
||||
* @version 1.0
|
||||
* @since 1.0
|
||||
*/
|
||||
@Configuration
|
||||
@AutoConfigureBefore(com.micro.fast.common.config.DataSourceMasterConfig.class)
|
||||
@ConfigurationProperties(prefix = "jdbc.master")
|
||||
@Validated //配合ConfigurationProperties进行参数校验
|
||||
public class JdbcConnectionMasterParamConfig {
|
||||
/**
|
||||
* 用户名
|
||||
*/
|
||||
@NotNull
|
||||
private String username;
|
||||
/**
|
||||
* 密码
|
||||
*/
|
||||
@NotNull
|
||||
private String password;
|
||||
/**
|
||||
* jdbc链接数据库的url
|
||||
*/
|
||||
@NotNull
|
||||
private String url;
|
||||
/**
|
||||
* 驱动名称
|
||||
*/
|
||||
@NotNull
|
||||
private String driverClass;
|
||||
|
||||
public String getUsername() {
|
||||
return username;
|
||||
}
|
||||
|
||||
public void setUsername(String username) {
|
||||
this.username = username;
|
||||
}
|
||||
|
||||
public String getPassword() {
|
||||
return password;
|
||||
}
|
||||
|
||||
public void setPassword(String password) {
|
||||
this.password = password;
|
||||
}
|
||||
|
||||
public String getUrl() {
|
||||
return url;
|
||||
}
|
||||
|
||||
public void setUrl(String url) {
|
||||
this.url = url;
|
||||
}
|
||||
|
||||
public String getDriverClass() {
|
||||
return driverClass;
|
||||
}
|
||||
|
||||
public void setDriverClass(String driverClass) {
|
||||
this.driverClass = driverClass;
|
||||
}
|
||||
}
|
||||
-75
@@ -1,75 +0,0 @@
|
||||
package com.micro.fast.common.config.param;
|
||||
|
||||
import com.micro.fast.common.condition.SalveDataSourceCondition;
|
||||
import org.springframework.boot.autoconfigure.AutoConfigureBefore;
|
||||
import org.springframework.boot.context.properties.ConfigurationProperties;
|
||||
import org.springframework.context.annotation.Conditional;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
|
||||
import javax.validation.constraints.NotNull;
|
||||
|
||||
/**
|
||||
* 对jdbc连接参数进行从配置文件中读取,校验不能为空
|
||||
* @author lishouyu 18332763730@163.com 2017/10/02
|
||||
* @version 1.0
|
||||
* @since 1.0
|
||||
*/
|
||||
@Configuration
|
||||
@Conditional(SalveDataSourceCondition.class)//根据SalveDataSourceCondition条件化装配bean
|
||||
@ConfigurationProperties(prefix = "jdbc.slave")
|
||||
@AutoConfigureBefore(com.micro.fast.common.config.DataSourceSlaveConfig.class)
|
||||
@Validated
|
||||
public class JdbcConnectionSlaveParamConfig {
|
||||
/**
|
||||
* 用户名
|
||||
*/
|
||||
private String username;
|
||||
/**
|
||||
* 密码
|
||||
*/
|
||||
@NotNull
|
||||
private String password;
|
||||
/**
|
||||
* jdbc链接数据库的url
|
||||
*/
|
||||
@NotNull
|
||||
private String url;
|
||||
/**
|
||||
* 驱动名称
|
||||
*/
|
||||
@NotNull
|
||||
private String driverClass;
|
||||
|
||||
public String getUsername() {
|
||||
return username;
|
||||
}
|
||||
|
||||
public void setUsername(String username) {
|
||||
this.username = username;
|
||||
}
|
||||
|
||||
public String getPassword() {
|
||||
return password;
|
||||
}
|
||||
|
||||
public void setPassword(String password) {
|
||||
this.password = password;
|
||||
}
|
||||
|
||||
public String getUrl() {
|
||||
return url;
|
||||
}
|
||||
|
||||
public void setUrl(String url) {
|
||||
this.url = url;
|
||||
}
|
||||
|
||||
public String getDriverClass() {
|
||||
return driverClass;
|
||||
}
|
||||
|
||||
public void setDriverClass(String driverClass) {
|
||||
this.driverClass = driverClass;
|
||||
}
|
||||
}
|
||||
@@ -4,13 +4,14 @@ import org.mybatis.spring.annotation.MapperScan;
|
||||
import org.springframework.boot.SpringApplication;
|
||||
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
|
||||
import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
|
||||
import org.springframework.boot.autoconfigure.jdbc.JdbcTemplateAutoConfiguration;
|
||||
import org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration;
|
||||
import org.springframework.cloud.client.SpringCloudApplication;
|
||||
import org.springframework.cloud.netflix.feign.EnableFeignClients;
|
||||
|
||||
@SpringCloudApplication
|
||||
@EnableFeignClients
|
||||
@MapperScan(basePackages = {"com.micro.fast.ucenter.dao"})
|
||||
@EnableAutoConfiguration(exclude = DataSourceAutoConfiguration.class)
|
||||
public class UcenterApplication {
|
||||
|
||||
public static void main(String[] args) {
|
||||
|
||||
@@ -263,6 +263,11 @@
|
||||
<artifactId>druid</artifactId>
|
||||
<version>${druid.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.alibaba</groupId>
|
||||
<artifactId>druid-spring-boot-starter</artifactId>
|
||||
<version>1.1.6</version>
|
||||
</dependency>
|
||||
<!--表单校验相关依赖-->
|
||||
<dependency>
|
||||
<groupId>org.hibernate</groupId>
|
||||
|
||||
Reference in New Issue
Block a user