dataSourceCreators) {
- DefaultDataSourceCreator defaultDataSourceCreator = new DefaultDataSourceCreator();
- defaultDataSourceCreator.setCreators(dataSourceCreators);
- return defaultDataSourceCreator;
- }
-
- @Bean
- @Order(DEFAULT_ORDER)
- public BasicDataSourceCreator basicDataSourceCreator() {
- return new BasicDataSourceCreator();
- }
-
- @Bean
- @Order(JNDI_ORDER)
- public JndiDataSourceCreator jndiDataSourceCreator() {
- return new JndiDataSourceCreator();
- }
-
- /**
- * 存在Druid数据源时, 加入创建器
- */
- @ConditionalOnClass(DruidDataSource.class)
- @Configuration
- static class DruidDataSourceCreatorConfiguration {
-
- @Bean
- @Order(DRUID_ORDER)
- public DruidDataSourceCreator druidDataSourceCreator() {
- return new DruidDataSourceCreator();
- }
- }
-
- /**
- * 存在Hikari数据源时, 加入创建器
- */
- @ConditionalOnClass(HikariDataSource.class)
- @Configuration
- static class HikariDataSourceCreatorConfiguration {
- @Bean
- @Order(HIKARI_ORDER)
- public HikariDataSourceCreator hikariDataSourceCreator() {
- return new HikariDataSourceCreator();
- }
- }
-
- /**
- * 存在BeeCp数据源时, 加入创建器
- */
- @ConditionalOnClass(BeeDataSource.class)
- @Configuration
- static class BeeCpDataSourceCreatorConfiguration {
-
- @Bean
- @Order(BEECP_ORDER)
- public BeeCpDataSourceCreator beeCpDataSourceCreator() {
- return new BeeCpDataSourceCreator();
- }
- }
-
- /**
- * 存在Dbcp2数据源时, 加入创建器
- */
- @ConditionalOnClass(BasicDataSource.class)
- @Configuration
- static class Dbcp2DataSourceCreatorConfiguration {
-
- @Bean
- @Order(DBCP2_ORDER)
- public Dbcp2DataSourceCreator dbcp2DataSourceCreator() {
- return new Dbcp2DataSourceCreator();
- }
- }
-
-// /**
-// * 存在Atomikos数据源时, 加入创建器
-// */
-// @ConditionalOnClass({AtomikosDataSourceBean.class})
-// @Configuration
-// static class AtomikosDataSourceCreatorConfiguration {
-//
-// @Bean
-// @Order(ATOMIKOS_ORDER)
-// public AtomikosDataSourceCreator atomikosDataSourceCreator() {
-// return new AtomikosDataSourceCreator();
-// }
-//
-// @Bean
-// @ConditionalOnClass(TransactionFactory)
-// public TransactionFactory atomikosTransactionFactory() {
-// return new AtomikosTransactionFactory();
-// }
-// }
-
-}
\ No newline at end of file
diff --git a/dynamic-datasource-spring/pom.xml b/dynamic-datasource-spring/pom.xml
index 0315ca0..a5c8830 100644
--- a/dynamic-datasource-spring/pom.xml
+++ b/dynamic-datasource-spring/pom.xml
@@ -5,15 +5,16 @@
4.0.0
com.baomidou
- dynamic-datasource-spring-boot-starter-parent
+ dynamic-datasource
4.0.0
dynamic-datasource-spring
+
- com.baomidou
- mybatis-plus
+ com.alibaba
+ druid
true
@@ -21,21 +22,27 @@
HikariCP-java7
true
-
- com.alibaba
- druid
- true
-
com.github.chris2018998
beecp
true
+
+ com.atomikos
+ transactions-jdbc
+ true
+
+
org.apache.commons
commons-dbcp2
true
+
+ com.baomidou
+ mybatis-plus
+ true
+
p6spy
p6spy
@@ -46,21 +53,30 @@
seata-rm-datasource
true
+
+
+ org.springframework
+ spring-core
+
+
+ org.springframework
+ spring-beans
+
+
+ org.springframework
+ spring-context
+
org.springframework
spring-jdbc
- 4.3.8.RELEASE
- org.springframework.boot
- spring-boot
- ${spring-boot-dependencies.version}
- true
+ org.springframework
+ spring-aop
- org.springframework.boot
- spring-boot-starter-jta-atomikos
- true
+ org.springframework
+ spring-expression
diff --git a/dynamic-datasource-spring/src/main/java/com/baomidou/dynamic/datasource/common/DataSourceGlobalProperty.java b/dynamic-datasource-spring/src/main/java/com/baomidou/dynamic/datasource/common/DataSourceGlobalProperty.java
new file mode 100644
index 0000000..fcbf6b6
--- /dev/null
+++ b/dynamic-datasource-spring/src/main/java/com/baomidou/dynamic/datasource/common/DataSourceGlobalProperty.java
@@ -0,0 +1,56 @@
+/*
+ * Copyright © 2018 organization baomidou
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.baomidou.dynamic.datasource.common;
+
+import com.baomidou.dynamic.datasource.enums.SeataMode;
+import com.baomidou.dynamic.datasource.toolkit.CryptoUtils;
+import lombok.Getter;
+import lombok.Setter;
+import lombok.extern.slf4j.Slf4j;
+
+/**
+ * DataSourceGlobalProperty
+ *
+ * @author TaoYu
+ * @since 4.0.0
+ */
+@Slf4j
+@Getter
+@Setter
+public class DataSourceGlobalProperty {
+
+ /**
+ * 是否懒加载数据源
+ */
+ private Boolean lazy = false;
+ /**
+ * /**
+ * 是否使用p6spy输出,默认不输出
+ */
+ private Boolean p6spy = false;
+ /**
+ * 是否使用开启seata,默认不开启
+ */
+ private Boolean seata = false;
+ /**
+ * seata使用模式,默认AT
+ */
+ private SeataMode seataMode = SeataMode.AT;
+ /**
+ * 全局默认publicKey
+ */
+ private String publicKey = CryptoUtils.DEFAULT_PUBLIC_KEY_STRING;
+}
\ No newline at end of file
diff --git a/dynamic-datasource-spring/src/main/java/com/baomidou/dynamic/datasource/common/DataSourceProperty.java b/dynamic-datasource-spring/src/main/java/com/baomidou/dynamic/datasource/common/DataSourceProperty.java
index 3b499ce..4724bf8 100644
--- a/dynamic-datasource-spring/src/main/java/com/baomidou/dynamic/datasource/common/DataSourceProperty.java
+++ b/dynamic-datasource-spring/src/main/java/com/baomidou/dynamic/datasource/common/DataSourceProperty.java
@@ -21,9 +21,7 @@ import com.baomidou.dynamic.datasource.creator.dbcp.Dbcp2Config;
import com.baomidou.dynamic.datasource.creator.druid.DruidConfig;
import com.baomidou.dynamic.datasource.creator.hikaricp.HikariCpConfig;
import lombok.Data;
-import lombok.experimental.Accessors;
import lombok.extern.slf4j.Slf4j;
-import org.springframework.boot.context.properties.NestedConfigurationProperty;
import javax.sql.DataSource;
@@ -33,7 +31,6 @@ import javax.sql.DataSource;
*/
@Slf4j
@Data
-@Accessors(chain = true)
public class DataSourceProperty {
/**
@@ -79,32 +76,26 @@ public class DataSourceProperty {
/**
* 初始化
*/
- @NestedConfigurationProperty
private DatasourceInitProperties init = new DatasourceInitProperties();
/**
* Druid参数配置
*/
- @NestedConfigurationProperty
private DruidConfig druid = new DruidConfig();
/**
* HikariCp参数配置
*/
- @NestedConfigurationProperty
private HikariCpConfig hikari = new HikariCpConfig();
/**
* BeeCp参数配置
*/
- @NestedConfigurationProperty
private BeeCpConfig beecp = new BeeCpConfig();
/**
* DBCP2参数配置
*/
- @NestedConfigurationProperty
private Dbcp2Config dbcp2 = new Dbcp2Config();
/**
* atomikos参数配置
*/
- @NestedConfigurationProperty
private AtomikosConfig atomikos = new AtomikosConfig();
/**
diff --git a/dynamic-datasource-spring/src/main/java/com/baomidou/dynamic/datasource/creator/AbstractDataSourceCreator.java b/dynamic-datasource-spring/src/main/java/com/baomidou/dynamic/datasource/creator/AbstractDataSourceCreator.java
deleted file mode 100644
index 3150868..0000000
--- a/dynamic-datasource-spring/src/main/java/com/baomidou/dynamic/datasource/creator/AbstractDataSourceCreator.java
+++ /dev/null
@@ -1,113 +0,0 @@
-/*
- * Copyright © 2018 organization baomidou
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.baomidou.dynamic.datasource.creator;
-
-import com.baomidou.dynamic.datasource.common.DataSourceProperty;
-import com.baomidou.dynamic.datasource.common.DatasourceInitProperties;
-import com.baomidou.dynamic.datasource.common.DynamicDataSourceProperties;
-import com.baomidou.dynamic.datasource.ds.ItemDataSource;
-import com.baomidou.dynamic.datasource.enums.SeataMode;
-import com.baomidou.dynamic.datasource.event.DataSourceInitEvent;
-import com.baomidou.dynamic.datasource.support.ScriptRunner;
-import com.p6spy.engine.spy.P6DataSource;
-import io.seata.rm.datasource.DataSourceProxy;
-import io.seata.rm.datasource.xa.DataSourceProxyXA;
-import lombok.extern.slf4j.Slf4j;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.util.StringUtils;
-
-import javax.sql.DataSource;
-
-/**
- * 抽象连接池创建器
- *
- * 这里主要处理一些公共逻辑,如脚本和事件等
- *
- * @author TaoYu
- */
-@Slf4j
-public abstract class AbstractDataSourceCreator implements DataSourceCreator {
-
- @Autowired
- protected DynamicDataSourceProperties properties;
- @Autowired
- protected DataSourceInitEvent dataSourceInitEvent;
-
- /**
- * 子类去实际创建连接池
- *
- * @param dataSourceProperty 数据源信息
- * @return 实际连接池
- */
- public abstract DataSource doCreateDataSource(DataSourceProperty dataSourceProperty);
-
- @Override
- public DataSource createDataSource(DataSourceProperty dataSourceProperty) {
- String publicKey = dataSourceProperty.getPublicKey();
- if (StringUtils.isEmpty(publicKey)) {
- publicKey = properties.getPublicKey();
- dataSourceProperty.setPublicKey(publicKey);
- }
- Boolean lazy = dataSourceProperty.getLazy();
- if (lazy == null) {
- lazy = properties.getLazy();
- dataSourceProperty.setLazy(lazy);
- }
- dataSourceInitEvent.beforeCreate(dataSourceProperty);
- DataSource dataSource = doCreateDataSource(dataSourceProperty);
- dataSourceInitEvent.afterCreate(dataSource);
- this.runScrip(dataSource, dataSourceProperty);
- return wrapDataSource(dataSource, dataSourceProperty);
- }
-
- private void runScrip(DataSource dataSource, DataSourceProperty dataSourceProperty) {
- DatasourceInitProperties initProperty = dataSourceProperty.getInit();
- String schema = initProperty.getSchema();
- String data = initProperty.getData();
- if (StringUtils.hasText(schema) || StringUtils.hasText(data)) {
- ScriptRunner scriptRunner = new ScriptRunner(initProperty.isContinueOnError(), initProperty.getSeparator());
- if (StringUtils.hasText(schema)) {
- scriptRunner.runScript(dataSource, schema);
- }
- if (StringUtils.hasText(data)) {
- scriptRunner.runScript(dataSource, data);
- }
- }
- }
-
- private DataSource wrapDataSource(DataSource dataSource, DataSourceProperty dataSourceProperty) {
- String name = dataSourceProperty.getPoolName();
- DataSource targetDataSource = dataSource;
-
- Boolean enabledP6spy = properties.getP6spy() && dataSourceProperty.getP6spy();
- if (enabledP6spy) {
- targetDataSource = new P6DataSource(dataSource);
- log.debug("dynamic-datasource [{}] wrap p6spy plugin", name);
- }
-
- Boolean enabledSeata = properties.getSeata() && dataSourceProperty.getSeata();
- SeataMode seataMode = properties.getSeataMode();
- if (enabledSeata) {
- if (SeataMode.XA == seataMode) {
- targetDataSource = new DataSourceProxyXA(targetDataSource);
- } else {
- targetDataSource = new DataSourceProxy(targetDataSource);
- }
- log.debug("dynamic-datasource [{}] wrap seata plugin transaction mode ", name);
- }
- return new ItemDataSource(name, dataSource, targetDataSource, enabledP6spy, enabledSeata, seataMode);
- }
-}
\ No newline at end of file
diff --git a/dynamic-datasource-spring/src/main/java/com/baomidou/dynamic/datasource/creator/DefaultDataSourceCreator.java b/dynamic-datasource-spring/src/main/java/com/baomidou/dynamic/datasource/creator/DefaultDataSourceCreator.java
index aee9b4f..ac74c40 100644
--- a/dynamic-datasource-spring/src/main/java/com/baomidou/dynamic/datasource/creator/DefaultDataSourceCreator.java
+++ b/dynamic-datasource-spring/src/main/java/com/baomidou/dynamic/datasource/creator/DefaultDataSourceCreator.java
@@ -15,9 +15,19 @@
*/
package com.baomidou.dynamic.datasource.creator;
+import com.baomidou.dynamic.datasource.common.DataSourceGlobalProperty;
import com.baomidou.dynamic.datasource.common.DataSourceProperty;
+import com.baomidou.dynamic.datasource.common.DatasourceInitProperties;
+import com.baomidou.dynamic.datasource.ds.ItemDataSource;
+import com.baomidou.dynamic.datasource.enums.SeataMode;
+import com.baomidou.dynamic.datasource.event.DataSourceInitEvent;
+import com.baomidou.dynamic.datasource.support.ScriptRunner;
+import com.p6spy.engine.spy.P6DataSource;
+import io.seata.rm.datasource.DataSourceProxy;
+import io.seata.rm.datasource.xa.DataSourceProxyXA;
import lombok.Setter;
import lombok.extern.slf4j.Slf4j;
+import org.springframework.util.StringUtils;
import javax.sql.DataSource;
import java.util.List;
@@ -34,6 +44,9 @@ public class DefaultDataSourceCreator {
private List creators;
+ private DataSourceGlobalProperty properties;
+ private DataSourceInitEvent dataSourceInitEvent;
+
public DataSource createDataSource(DataSourceProperty dataSourceProperty) {
DataSourceCreator dataSourceCreator = null;
for (DataSourceCreator creator : this.creators) {
@@ -45,7 +58,59 @@ public class DefaultDataSourceCreator {
if (dataSourceCreator == null) {
throw new IllegalStateException("creator must not be null,please check the DataSourceCreator");
}
- return dataSourceCreator.createDataSource(dataSourceProperty);
+ String publicKey = dataSourceProperty.getPublicKey();
+ if (StringUtils.isEmpty(publicKey)) {
+ publicKey = properties.getPublicKey();
+ dataSourceProperty.setPublicKey(publicKey);
+ }
+ Boolean lazy = dataSourceProperty.getLazy();
+ if (lazy == null) {
+ lazy = properties.getLazy();
+ dataSourceProperty.setLazy(lazy);
+ }
+ dataSourceInitEvent.beforeCreate(dataSourceProperty);
+ DataSource dataSource = dataSourceCreator.createDataSource(dataSourceProperty);
+ dataSourceInitEvent.afterCreate(dataSource);
+ this.runScrip(dataSource, dataSourceProperty);
+ return wrapDataSource(dataSource, dataSourceProperty);
+ }
+
+ private void runScrip(DataSource dataSource, DataSourceProperty dataSourceProperty) {
+ DatasourceInitProperties initProperty = dataSourceProperty.getInit();
+ String schema = initProperty.getSchema();
+ String data = initProperty.getData();
+ if (StringUtils.hasText(schema) || StringUtils.hasText(data)) {
+ ScriptRunner scriptRunner = new ScriptRunner(initProperty.isContinueOnError(), initProperty.getSeparator());
+ if (StringUtils.hasText(schema)) {
+ scriptRunner.runScript(dataSource, schema);
+ }
+ if (StringUtils.hasText(data)) {
+ scriptRunner.runScript(dataSource, data);
+ }
+ }
+ }
+
+ private DataSource wrapDataSource(DataSource dataSource, DataSourceProperty dataSourceProperty) {
+ String name = dataSourceProperty.getPoolName();
+ DataSource targetDataSource = dataSource;
+
+ Boolean enabledP6spy = properties.getP6spy() && dataSourceProperty.getP6spy();
+ if (enabledP6spy) {
+ targetDataSource = new P6DataSource(dataSource);
+ log.debug("dynamic-datasource [{}] wrap p6spy plugin", name);
+ }
+
+ Boolean enabledSeata = properties.getSeata() && dataSourceProperty.getSeata();
+ SeataMode seataMode = properties.getSeataMode();
+ if (enabledSeata) {
+ if (SeataMode.XA == seataMode) {
+ targetDataSource = new DataSourceProxyXA(targetDataSource);
+ } else {
+ targetDataSource = new DataSourceProxy(targetDataSource);
+ }
+ log.debug("dynamic-datasource [{}] wrap seata plugin transaction mode ", name);
+ }
+ return new ItemDataSource(name, dataSource, targetDataSource, enabledP6spy, enabledSeata, seataMode);
}
}
\ No newline at end of file
diff --git a/dynamic-datasource-spring/src/main/java/com/baomidou/dynamic/datasource/creator/atomikos/AtomikosDataSourceCreator.java b/dynamic-datasource-spring/src/main/java/com/baomidou/dynamic/datasource/creator/atomikos/AtomikosDataSourceCreator.java
index af743f5..0c044dc 100644
--- a/dynamic-datasource-spring/src/main/java/com/baomidou/dynamic/datasource/creator/atomikos/AtomikosDataSourceCreator.java
+++ b/dynamic-datasource-spring/src/main/java/com/baomidou/dynamic/datasource/creator/atomikos/AtomikosDataSourceCreator.java
@@ -15,15 +15,14 @@
*/
package com.baomidou.dynamic.datasource.creator.atomikos;
+import com.atomikos.jdbc.AtomikosDataSourceBean;
import com.baomidou.dynamic.datasource.common.DataSourceProperty;
-import com.baomidou.dynamic.datasource.creator.AbstractDataSourceCreator;
import com.baomidou.dynamic.datasource.creator.DataSourceCreator;
import com.baomidou.dynamic.datasource.enums.XADataSourceEnum;
import com.baomidou.dynamic.datasource.toolkit.ConfigMergeCreator;
import com.baomidou.mybatisplus.annotation.DbType;
import com.baomidou.mybatisplus.extension.toolkit.JdbcUtils;
import org.springframework.beans.factory.InitializingBean;
-import org.springframework.boot.jta.atomikos.AtomikosDataSourceBean;
import javax.sql.DataSource;
import java.util.Properties;
diff --git a/dynamic-datasource-spring/src/main/java/com/baomidou/dynamic/datasource/creator/basic/BasicDataSourceCreator.java b/dynamic-datasource-spring/src/main/java/com/baomidou/dynamic/datasource/creator/basic/BasicDataSourceCreator.java
index 23055b7..3c58a18 100644
--- a/dynamic-datasource-spring/src/main/java/com/baomidou/dynamic/datasource/creator/basic/BasicDataSourceCreator.java
+++ b/dynamic-datasource-spring/src/main/java/com/baomidou/dynamic/datasource/creator/basic/BasicDataSourceCreator.java
@@ -16,7 +16,6 @@
package com.baomidou.dynamic.datasource.creator.basic;
import com.baomidou.dynamic.datasource.common.DataSourceProperty;
-import com.baomidou.dynamic.datasource.creator.AbstractDataSourceCreator;
import com.baomidou.dynamic.datasource.creator.DataSourceCreator;
import com.baomidou.dynamic.datasource.exception.ErrorCreateDataSourceException;
import lombok.extern.slf4j.Slf4j;
diff --git a/dynamic-datasource-spring/src/main/java/com/baomidou/dynamic/datasource/creator/beecp/BeeCpDataSourceCreator.java b/dynamic-datasource-spring/src/main/java/com/baomidou/dynamic/datasource/creator/beecp/BeeCpDataSourceCreator.java
index db563ab..a791640 100644
--- a/dynamic-datasource-spring/src/main/java/com/baomidou/dynamic/datasource/creator/beecp/BeeCpDataSourceCreator.java
+++ b/dynamic-datasource-spring/src/main/java/com/baomidou/dynamic/datasource/creator/beecp/BeeCpDataSourceCreator.java
@@ -18,7 +18,6 @@ package com.baomidou.dynamic.datasource.creator.beecp;
import cn.beecp.BeeDataSource;
import cn.beecp.BeeDataSourceConfig;
import com.baomidou.dynamic.datasource.common.DataSourceProperty;
-import com.baomidou.dynamic.datasource.creator.AbstractDataSourceCreator;
import com.baomidou.dynamic.datasource.creator.DataSourceCreator;
import com.baomidou.dynamic.datasource.toolkit.ConfigMergeCreator;
import lombok.extern.slf4j.Slf4j;
diff --git a/dynamic-datasource-spring/src/main/java/com/baomidou/dynamic/datasource/creator/dbcp/Dbcp2DataSourceCreator.java b/dynamic-datasource-spring/src/main/java/com/baomidou/dynamic/datasource/creator/dbcp/Dbcp2DataSourceCreator.java
index 5b29816..2133305 100644
--- a/dynamic-datasource-spring/src/main/java/com/baomidou/dynamic/datasource/creator/dbcp/Dbcp2DataSourceCreator.java
+++ b/dynamic-datasource-spring/src/main/java/com/baomidou/dynamic/datasource/creator/dbcp/Dbcp2DataSourceCreator.java
@@ -16,7 +16,6 @@
package com.baomidou.dynamic.datasource.creator.dbcp;
import com.baomidou.dynamic.datasource.common.DataSourceProperty;
-import com.baomidou.dynamic.datasource.creator.AbstractDataSourceCreator;
import com.baomidou.dynamic.datasource.creator.DataSourceCreator;
import com.baomidou.dynamic.datasource.toolkit.ConfigMergeCreator;
import lombok.SneakyThrows;
diff --git a/dynamic-datasource-spring/src/main/java/com/baomidou/dynamic/datasource/creator/druid/DruidDataSourceCreator.java b/dynamic-datasource-spring/src/main/java/com/baomidou/dynamic/datasource/creator/druid/DruidDataSourceCreator.java
index 15d2fbc..2d240c0 100644
--- a/dynamic-datasource-spring/src/main/java/com/baomidou/dynamic/datasource/creator/druid/DruidDataSourceCreator.java
+++ b/dynamic-datasource-spring/src/main/java/com/baomidou/dynamic/datasource/creator/druid/DruidDataSourceCreator.java
@@ -24,11 +24,9 @@ import com.alibaba.druid.pool.DruidDataSource;
import com.alibaba.druid.wall.WallConfig;
import com.alibaba.druid.wall.WallFilter;
import com.baomidou.dynamic.datasource.common.DataSourceProperty;
-import com.baomidou.dynamic.datasource.creator.AbstractDataSourceCreator;
import com.baomidou.dynamic.datasource.creator.DataSourceCreator;
import com.baomidou.dynamic.datasource.exception.ErrorCreateDataSourceException;
import lombok.extern.slf4j.Slf4j;
-import org.springframework.beans.factory.InitializingBean;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.ApplicationContext;
import org.springframework.util.StringUtils;
@@ -49,7 +47,7 @@ import static com.baomidou.dynamic.datasource.support.DdConstants.DRUID_DATASOUR
* @since 2020/1/21
*/
@Slf4j
-public class DruidDataSourceCreator extends AbstractDataSourceCreator implements DataSourceCreator, InitializingBean {
+public class DruidDataSourceCreator implements DataSourceCreator {
private static Method configMethod = null;
@@ -70,7 +68,7 @@ public class DruidDataSourceCreator extends AbstractDataSourceCreator implements
private DruidConfig gConfig;
@Override
- public DataSource doCreateDataSource(DataSourceProperty dataSourceProperty) {
+ public DataSource createDataSource(DataSourceProperty dataSourceProperty) {
DruidDataSource dataSource = new DruidDataSource();
dataSource.setUsername(dataSourceProperty.getUsername());
dataSource.setPassword(dataSourceProperty.getPassword());
@@ -251,8 +249,4 @@ public class DruidDataSourceCreator extends AbstractDataSourceCreator implements
return type == null || DRUID_DATASOURCE.equals(type.getName());
}
- @Override
- public void afterPropertiesSet() throws Exception {
- gConfig = properties.getDruid();
- }
}
\ No newline at end of file
diff --git a/dynamic-datasource-spring/src/main/java/com/baomidou/dynamic/datasource/creator/hikaricp/HikariDataSourceCreator.java b/dynamic-datasource-spring/src/main/java/com/baomidou/dynamic/datasource/creator/hikaricp/HikariDataSourceCreator.java
index 895b386..f2ef5ef 100644
--- a/dynamic-datasource-spring/src/main/java/com/baomidou/dynamic/datasource/creator/hikaricp/HikariDataSourceCreator.java
+++ b/dynamic-datasource-spring/src/main/java/com/baomidou/dynamic/datasource/creator/hikaricp/HikariDataSourceCreator.java
@@ -16,7 +16,6 @@
package com.baomidou.dynamic.datasource.creator.hikaricp;
import com.baomidou.dynamic.datasource.common.DataSourceProperty;
-import com.baomidou.dynamic.datasource.creator.AbstractDataSourceCreator;
import com.baomidou.dynamic.datasource.creator.DataSourceCreator;
import com.baomidou.dynamic.datasource.toolkit.ConfigMergeCreator;
import com.zaxxer.hikari.HikariConfig;
diff --git a/dynamic-datasource-spring/src/main/java/com/baomidou/dynamic/datasource/creator/jndi/JndiDataSourceCreator.java b/dynamic-datasource-spring/src/main/java/com/baomidou/dynamic/datasource/creator/jndi/JndiDataSourceCreator.java
index dd0e4a1..a94ae71 100644
--- a/dynamic-datasource-spring/src/main/java/com/baomidou/dynamic/datasource/creator/jndi/JndiDataSourceCreator.java
+++ b/dynamic-datasource-spring/src/main/java/com/baomidou/dynamic/datasource/creator/jndi/JndiDataSourceCreator.java
@@ -16,7 +16,6 @@
package com.baomidou.dynamic.datasource.creator.jndi;
import com.baomidou.dynamic.datasource.common.DataSourceProperty;
-import com.baomidou.dynamic.datasource.creator.AbstractDataSourceCreator;
import com.baomidou.dynamic.datasource.creator.DataSourceCreator;
import org.springframework.jdbc.datasource.lookup.JndiDataSourceLookup;
diff --git a/pom.xml b/pom.xml
index 08499f4..dd8bcf9 100644
--- a/pom.xml
+++ b/pom.xml
@@ -3,7 +3,7 @@
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
4.0.0
com.baomidou
- dynamic-datasource-spring-boot-starter-parent
+ dynamic-datasource
4.0.0
pom
${project.artifactId}
@@ -12,6 +12,7 @@
dynamic-datasource-spring
+ dynamic-datasource-spring-boot-common
dynamic-datasource-spring-boot-starter
dynamic-datasource-spring-boot3-starter
@@ -77,6 +78,11 @@
dynamic-datasource-spring
4.0.0