赞
踩
<!-- alibaba的druid数据库连接池 --> <dependency> <groupId>com.alibaba</groupId> <artifactId>druid-spring-boot-starter</artifactId> <version>1.1.23</version> </dependency> <!--springboot LOG4J 1.3版本及以下, 1.3版本以上是log4j2--> <!--<dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.16</version> <scope>compile</scope> </dependency>--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-log4j2</artifactId> </dependency>
spring: # 数据源配置 datasource: #url: jdbc:mysql:/路径/数据库?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&serverTimezone=Asia/Shanghai url: jdbc:mysql://rm-uf6muqdsogu7h721o.mysql.rds.aliyuncs.com/education_dev?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&serverTimezone=Asia/Shanghai username: 账户 password: 密码 type: com.alibaba.druid.pool.DruidDataSource # MYSQL 5 驱动:com.mysql.jdbc.Driver,MYSQL 6+ 驱动:com.mysql.cj.jdbc.Driver 我的mysql是5.7.27 5.7以上是可以使用8.0连接驱动的 driver-class-name: com.mysql.cj.jdbc.Driver # 连接池配置 filters: stat # 必须在这里配置,不然sql监测不到 druid: # 配置监控统计拦截的 Filter,去掉后监控界面 SQL 无法统计,wall 用于防火墙 filters: stat,wall,log4j2 # 初始化大小,最小,最大 initial-size: 5 min-idle: 5 max-active: 20 # 配置获取连接等待超时的时间 max-wait: 60000 # 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位毫秒 time-between-eviction-runs-millis: 60000 # 配置一个连接在池中最小生存时间 min-evictable-idle-time-millis: 300000 validation-query: SELECT 1 FROM bj_xnhy_user_in test-while-idle: true test-on-borrow: false test-on-return: false # 打开 PSCache,并且指定每个连接上 PSCache 的大小 pool-prepared-statements: true max-pool-prepared-statement-per-connection-size: 20 # 通过 connection-properties 属性打开 mergeSql 功能;慢 SQL 记录 connection-properties: druid.stat.mergeSql\=true;druid.stat.slowSqlMillis\=5000 # 配置 DruidStatFilter web-stat-filter: session-stat-enable: true enabled: true url-pattern: /* exclusions: .js,*.gif,*.jpg,*.bmp,*.png,*.css,*.ico,/druid/* # 配置 DruidStatViewServlet stat-view-servlet: url-pattern: /druid/* # 禁用 HTML 中 Reset All 按钮 reset-enable: false
package com.xnhy.educationapi.config; import com.alibaba.druid.pool.DruidDataSource; import com.alibaba.druid.support.http.StatViewServlet; import com.alibaba.druid.support.http.WebStatFilter; import org.springframework.boot.context.properties.ConfigurationProperties; 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.util.HashMap; import java.util.Map; /** * druid数据库监测 * @author chenchao * 2021 06 16 */ @Configuration public class DruidConfig { @ConfigurationProperties(prefix = "spring.datasource") @Bean public DataSource druidDataSource() { return new DruidDataSource(); } //因为Springboot内置了servlet容器,所以没有web.xml,替代方法就是将ServletRegistrationBean注册进去 //加入后台监控 @Bean //这里其实就相当于servlet的web.xml public ServletRegistrationBean statViewServlet() { ServletRegistrationBean<StatViewServlet> bean = new ServletRegistrationBean<StatViewServlet>(new StatViewServlet(), "/druid/*"); //后台需要有人登录,进行配置 //bean.addUrlMappings(); 这个可以添加映射,我们在构造里已经写了 //设置一些初始化参数 Map<String, String> initParas = new HashMap<String, String>(); initParas.put("loginUsername", "admin");//它这个账户密码是固定的 initParas.put("loginPassword", "123456"); //允许谁能防伪 initParas.put("allow", "");//这个值为空或没有就允许所有人访问,ip白名单 //initParas.put("allow","localhost");//只允许本机访问,多个ip用逗号,隔开 //initParas.put("deny","");//ip黑名单,拒绝谁访问 deny和allow同时存在优先deny initParas.put("resetEnable", "false");//禁用HTML页面的Reset按钮 bean.setInitParameters(initParas); return bean; } //再配置一个过滤器,Servlet按上面的方式注册Filter也只能这样 @Bean public FilterRegistrationBean webStatFilter() { FilterRegistrationBean bean = new FilterRegistrationBean(); //可以设置也可以获取,设置一个阿里巴巴的过滤器 bean.setFilter(new WebStatFilter()); bean.addUrlPatterns("/*"); //可以过滤和排除哪些东西 Map<String, String> initParams = new HashMap<String, String>(); //把不需要监控的过滤掉,这些不进行统计 initParams.put("exclusions", "*.js,*.css,/druid/*"); bean.setInitParameters(initParams); return bean; } }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。