From f7f6a3acaa12db42628685daaf771c1173ce9725 Mon Sep 17 00:00:00 2001
From: lroyia <814876716@qq.com>
Date: Tue, 18 Jan 2022 18:11:33 +0800
Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0youfool-framework-springboot?=
=?UTF-8?q?=203.0=E7=9A=84=E6=95=B0=E6=8D=AE=E6=BA=90=E9=85=8D=E7=BD=AE?=
=?UTF-8?q?=E4=BB=A5=E5=8F=8A=E4=BD=BF=E7=94=A8=E6=B3=A8=E6=84=8F=E4=BA=8B?=
=?UTF-8?q?=E9=A1=B9=E8=AF=B4=E6=98=8E?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
README.md | 8 ++++-
pom.xml | 2 +-
.../youfool/prj/config/PrjDataSource.java | 27 +---------------
src/main/resources/application-dev.yml | 16 +++++++---
src/main/resources/application-prod.yml | 16 +++++++---
src/main/resources/application.yml | 32 ++++++++++++-------
6 files changed, 54 insertions(+), 47 deletions(-)
diff --git a/README.md b/README.md
index 7cc310e..b17df3c 100644
--- a/README.md
+++ b/README.md
@@ -1,2 +1,8 @@
-boot 基础模板
+# youfool-framework-springboot 基础项目模板
+
+## 数据源
+
+当前版本(3.0版本以上)的基础框架使用了`苞米豆`的[动态数据源](https://github.com/baomidou/dynamic-datasource-spring-boot-starter) 。
+
+使用事务时需注意使用`@DSTransactional`代替`@Transactional`来使用注解式事务。
diff --git a/pom.xml b/pom.xml
index 66d9ff6..e54536d 100644
--- a/pom.xml
+++ b/pom.xml
@@ -39,7 +39,7 @@
com.chinaweal.youfool
youfool-framework-springboot
- 2.1.0-SNAPSHOT
+ 3.0.0-SNAPSHOT
diff --git a/src/main/java/com/chinaweal/youfool/prj/config/PrjDataSource.java b/src/main/java/com/chinaweal/youfool/prj/config/PrjDataSource.java
index fad9119..b7df0a3 100644
--- a/src/main/java/com/chinaweal/youfool/prj/config/PrjDataSource.java
+++ b/src/main/java/com/chinaweal/youfool/prj/config/PrjDataSource.java
@@ -1,21 +1,15 @@
package com.chinaweal.youfool.prj.config;
-import com.alibaba.druid.pool.DruidDataSource;
-import com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceBuilder;
import com.baomidou.mybatisplus.core.config.GlobalConfig;
import com.baomidou.mybatisplus.extension.spring.MybatisSqlSessionFactoryBean;
import com.chinaweal.youfool.framework.springboot.mybatis.plus.CommonMetaObjectHandler;
-import org.apache.ibatis.session.SqlSessionFactory;
-import org.mybatis.spring.SqlSessionTemplate;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.beans.factory.annotation.Qualifier;
-import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Primary;
import org.springframework.core.io.ClassPathResource;
import org.springframework.core.io.support.PathMatchingResourcePatternResolver;
-import org.springframework.jdbc.datasource.DataSourceTransactionManager;
import javax.annotation.Resource;
import javax.sql.DataSource;
@@ -25,19 +19,12 @@ import javax.sql.DataSource;
*/
@Configuration
-@MapperScan(basePackages = {"com.chinaweal.youfool.framework.springboot.cms.**.mapper", "com.chinaweal.youfool.prj.**.mapper"}, sqlSessionTemplateRef = "prjSqlSessionTemplate")
+@MapperScan(basePackages = {"com.chinaweal.youfool.framework.springboot.cms.**.mapper", "com.chinaweal.youfool.prj.**.mapper"})
public class PrjDataSource {
@Resource
private CommonMetaObjectHandler commonMetaObjectHandler;
- @Bean(name = "prjDS", initMethod = "init", destroyMethod = "close")
- @ConfigurationProperties(prefix = "spring.datasource.prj")
- @Primary
- public DruidDataSource dataSource() {
- return DruidDataSourceBuilder.create().build();
- }
-
@Bean(name = "prjSqlSessionFactory")
@Primary
public MybatisSqlSessionFactoryBean sqlSessionFactory(@Qualifier("prjDS") DataSource dataSource) throws Exception {
@@ -50,16 +37,4 @@ public class PrjDataSource {
bean.setMapperLocations(new PathMatchingResourcePatternResolver().getResources("classpath*:mybatis/mapper/**/*.xml"));
return bean;
}
-
- @Bean(name = "prjTransactionManager")
- @Primary
- public DataSourceTransactionManager transactionManager(@Qualifier("prjDS") DataSource dataSource) {
- return new DataSourceTransactionManager(dataSource);
- }
-
- @Bean(name = "prjSqlSessionTemplate")
- @Primary
- public SqlSessionTemplate sqlSessionTemplate(@Qualifier("prjSqlSessionFactory") SqlSessionFactory sqlSessionFactory) {
- return new SqlSessionTemplate(sqlSessionFactory);
- }
}
diff --git a/src/main/resources/application-dev.yml b/src/main/resources/application-dev.yml
index dcb2f15..6fddaad 100644
--- a/src/main/resources/application-dev.yml
+++ b/src/main/resources/application-dev.yml
@@ -6,7 +6,15 @@ logging:
com.chinaweal.youfool.prj: debug
spring:
datasource:
- prj:
- url: jdbc:postgresql://172.22.80.157:5432/prj_template
- username: postgres
- password: 123456
+ dynamic:
+ datasource:
+ master:
+ url: jdbc:mysql://127.0.0.1:3306/crgs?characterEncoding=utf-8&useSSL=false&allowPublicKeyRetrieval=true&useUnicode=true&serverTimezone=UTC
+ username: root
+ password: 123456
+ driver-class-name: com.mysql.jdbc.Driver # 3.2.0开始支持SPI可省略此配置
+ youfool:
+ url: jdbc:mysql://127.0.0.1:3306/aiccs?characterEncoding=utf-8&useSSL=false&allowPublicKeyRetrieval=true&useUnicode=true&serverTimezone=UTC
+ username: root
+ password: 123456
+ driver-class-name: com.mysql.jdbc.Driver
\ No newline at end of file
diff --git a/src/main/resources/application-prod.yml b/src/main/resources/application-prod.yml
index d108e0d..8c276d8 100644
--- a/src/main/resources/application-prod.yml
+++ b/src/main/resources/application-prod.yml
@@ -7,7 +7,15 @@ logging:
filePath: D:\project\pms\logs
spring:
datasource:
- prj:
- url: jdbc:postgresql://127.0.0.1:5432/pms
- username: postgres
- password: 123456
\ No newline at end of file
+ dynamic:
+ datasource:
+ master:
+ url: jdbc:mysql://127.0.0.1:3306/crgs?characterEncoding=utf-8&useSSL=false&allowPublicKeyRetrieval=true&useUnicode=true&serverTimezone=UTC
+ username: root
+ password: 123456
+ driver-class-name: com.mysql.jdbc.Driver # 3.2.0开始支持SPI可省略此配置
+ youfool:
+ url: jdbc:mysql://127.0.0.1:3306/aiccs?characterEncoding=utf-8&useSSL=false&allowPublicKeyRetrieval=true&useUnicode=true&serverTimezone=UTC
+ username: root
+ password: 123456
+ driver-class-name: com.mysql.jdbc.Driver
\ No newline at end of file
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index f8deaa0..f39f023 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -7,17 +7,27 @@ spring:
application:
name: youfool-prj-springboot-template
datasource:
- #https://gitee.com/wenshao/druid/tree/master/druid-spring-boot-starter
- #https://github.com/alibaba/druid/wiki/DruidDataSource%E9%85%8D%E7%BD%AE
- prj:
- filters: stat
- initial-size: 2
- min-idle: 1
- max-active: 20
- max-wait: 30000
- time-between-eviction-runs-millis: 60000
- min-evictable-idle-time-millis: 300000
- validation-query: select version()
+ dynamic:
+ primary: master #设置默认的数据源或者数据源组,默认值即为master
+ strict: false #严格匹配数据源,默认false. true未匹配到指定数据源时抛异常,false使用默认数据源
+ master:
+ filters: stat
+ initial-size: 2
+ min-idle: 1
+ max-active: 20
+ max-wait: 30000
+ time-between-eviction-runs-millis: 60000
+ min-evictable-idle-time-millis: 300000
+ validation-query: select version()
+ youfool: # 基础框架必要数据源,用于存储restLog
+ filters: stat
+ initial-size: 2
+ min-idle: 1
+ max-active: 20
+ max-wait: 30000
+ time-between-eviction-runs-millis: 60000
+ min-evictable-idle-time-millis: 300000
+ validation-query: select version()
druid:
web-stat-filter:
enabled: true