From d248384b4f7eae2ae3df0ee3f763d3276562647c Mon Sep 17 00:00:00 2001 From: wudi Date: Mon, 10 May 2021 13:28:26 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=94=AF=E6=8C=81=20profiles?= =?UTF-8?q?=20=E9=85=8D=E7=BD=AE=EF=BC=9B=20=E5=8C=BA=E5=88=86=20=E5=BC=80?= =?UTF-8?q?=E5=8F=91=E5=92=8C=E7=94=9F=E4=BA=A7=E7=8E=AF=E5=A2=83=20?= =?UTF-8?q?=EF=BC=9B=20=E5=A2=9E=E5=8A=A0druid=E6=95=B0=E6=8D=AE=E5=BA=93?= =?UTF-8?q?=E5=8A=A0=E5=AF=86=E9=85=8D=E7=BD=AE=EF=BC=8C=20=E7=94=9F?= =?UTF-8?q?=E4=BA=A7=E7=8E=AF=E5=A2=83=20=E6=95=B0=E6=8D=AE=E5=BA=93?= =?UTF-8?q?=E5=AF=86=E7=A0=81=E5=8A=A0=E5=AF=86=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/resources/application-druid-pro.yml | 63 +++++++++++++++++++ .../src/main/resources/application.properties | 6 ++ .../config/properties/DruidProperties.java | 21 ++++++- 3 files changed, 89 insertions(+), 1 deletion(-) create mode 100644 ruoyi-admin/src/main/resources/application-druid-pro.yml create mode 100644 ruoyi-admin/src/main/resources/application.properties diff --git a/ruoyi-admin/src/main/resources/application-druid-pro.yml b/ruoyi-admin/src/main/resources/application-druid-pro.yml new file mode 100644 index 000000000..8db49d93a --- /dev/null +++ b/ruoyi-admin/src/main/resources/application-druid-pro.yml @@ -0,0 +1,63 @@ +# 数据源配置 +spring: + datasource: + type: com.alibaba.druid.pool.DruidDataSource + driverClassName: com.mysql.cj.jdbc.Driver + druid: + # 主库数据源 + master: + url: jdbc:mysql://localhost:3316/ry?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8 + username: root +# password: 123456 + password: SeO01Bk2qVa/Xw7NzBJ38tIvudlucuv5fat7tVsY05GT09L5C/sVcaMvaMCD/1g5k9oCEj/fBZ7z1+i48Gnvlg== + # 从库数据源 + slave: + # 从数据源开关/默认关闭 + enabled: false + url: + username: + password: + # 初始连接数 + initialSize: 5 + # 最小连接池数量 + minIdle: 10 + # 最大连接池数量 + maxActive: 20 + # 配置获取连接等待超时的时间 + maxWait: 60000 + # 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒 + timeBetweenEvictionRunsMillis: 60000 + # 配置一个连接在池中最小生存的时间,单位是毫秒 + minEvictableIdleTimeMillis: 300000 + # 配置一个连接在池中最大生存的时间,单位是毫秒 + maxEvictableIdleTimeMillis: 900000 + # 配置检测连接是否有效 + validationQuery: SELECT 1 FROM DUAL + testWhileIdle: true + testOnBorrow: false + testOnReturn: false + webStatFilter: + enabled: true + statViewServlet: + enabled: true + # 设置白名单,不填则允许所有访问 + allow: + url-pattern: /druid/* + # 控制台管理用户名和密码 + login-username: ruoyi + login-password: 123456 + filter: + stat: + enabled: true + # 慢SQL记录 + log-slow-sql: true + slow-sql-millis: 1000 + merge-sql: true + wall: + config: + multi-statement-allow: true + # 启用数据库解密 【boot druid加密】 + filters: config + connectionProperties: config.decrypt=true;config.decrypt.key=MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAM+j76P6vjNr3ryECDjiQ0KoD35TZO1y75xvPY37okhUzfExTQVatlcLeK9pG8PxpMiIFa5JwKhwVD+sg/ocUDcCAwEAAQ== + + \ No newline at end of file diff --git a/ruoyi-admin/src/main/resources/application.properties b/ruoyi-admin/src/main/resources/application.properties new file mode 100644 index 000000000..be0fe8053 --- /dev/null +++ b/ruoyi-admin/src/main/resources/application.properties @@ -0,0 +1,6 @@ +# \u6d4b\u8bd5\uff0c properties \u6587\u4ef6\u4f18\u5148\u7ea7\u9ad8\u4e8e yml\u6587\u4ef6 +ruoyi.version=5.1.0 + +# spring profiles \u914d\u7f6e\u3002 druid \u5f00\u53d1\u73af\u5883\uff1bdruid-pro \u751f\u4ea7\u73af\u5883 +spring.profiles.active=druid + diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/properties/DruidProperties.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/config/properties/DruidProperties.java index 84f7e0090..2f8f2cd0b 100644 --- a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/properties/DruidProperties.java +++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/config/properties/DruidProperties.java @@ -1,7 +1,13 @@ package com.ruoyi.framework.config.properties; +import java.sql.SQLException; + +import javax.annotation.Resource; + import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Configuration; +import org.springframework.core.env.Environment; + import com.alibaba.druid.pool.DruidDataSource; /** @@ -44,7 +50,10 @@ public class DruidProperties @Value("${spring.datasource.druid.testOnReturn}") private boolean testOnReturn; - + + @Resource + private Environment environment ; + public DruidDataSource dataSource(DruidDataSource datasource) { /** 配置初始化大小、最小、最大 */ @@ -72,6 +81,16 @@ public class DruidProperties datasource.setTestOnBorrow(testOnBorrow); /** 归还连接时执行validationQuery检测连接是否有效,做了这个配置会降低性能。 */ datasource.setTestOnReturn(testOnReturn); + + String filters = environment.getProperty("spring.datasource.druid.filters"); + try { + datasource.setFilters(filters); + } catch (SQLException e) { + e.printStackTrace(); + } + String connectionProperties = environment.getProperty("spring.datasource.druid.connectionProperties"); + datasource.setConnectionProperties(connectionProperties); + return datasource; } }