05.`SpringBoot` 集成`druid`连接池
2020-09-06 本文已影响0人
风安峻_
1. 核心依赖
-
依赖
<dependencies> <!-- mysql --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> </dependency> <!-- druid-starter --> <dependency> <groupId>com.alibaba</groupId> <artifactId>druid-spring-boot-starter</artifactId> <version>1.1.21</version> </dependency> </dependencies>
-
说明
- 有
starter
就导starter
-
mysql
已经集成进了spring boot
- 有
2. 配置文件
-
application.yml
主配置文件spring: profiles: # 注册配置文件 active: dev,druid server: # 端口号 port: 8080 servlet: # 访问路径 context-path: /api/v1
-
application-dev.yml
spring: datasource: url: jdbc:mysql://127.0.0.1:3306/db_test?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai username: root password: password
-
application-druid.yml
spring: datasource: # 指定连接的实现类 type: com.alibaba.druid.pool.DruidDataSource # druid相关的配置 druid: # 初始化连接大小 initial-size: 5 # 最大连接池数量 max-active: 20 # 最小连接池数量 min-idle: 3 # 配置获取连接等待超时的时间 单位毫秒 max-wait: 60000 # 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒 time-between-eviction-runs-millis: 60000 # 配置一个连接在池中最小生存的时间,单位是毫秒 min-evictable-idle-time-millis: 300000 # 测试连接 validation-query: select # 申请连接的时候检测,建议配置为true,不影响性能,并且保证安全性 test-while-idle: true # 获取连接时执行检测,建议关闭,影响性能 test-on-borrow: false # 归还连接时执行检测,建议关闭,影响性能 test-on-return: false # 打开PSCache,并且指定每个连接上PSCache的大小 pool-prepared-statements: true # 配置监控统计拦截器 防火墙 日志配置 # stat:监控数据库性能 # wall:用于防火墙 # 日志:slf4j、logback # log4j:用于单体应用,微服务可能阻塞线程 # log4j2 # 配置多个用英文逗号分隔 filters: stat,wall,slf4j max-pool-prepared-statement-per-connection-size: 20 # 合并多个 DruidDataSource 的监控数据 use-global-data-source-stat: true # 通过connectProperties属性来打开mergeSql功能;慢SQL记录 SQL优化 connect-properties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=500 # ===========监控配置=========== # WebStatFilter配置,说明请参考Druid Wiki,配置_配置WebStatFilter web-stat-filter: #是否启用StatFilter默认值false enabled: true # 拦截所有的 url-pattern: /* # 排除一些不必要的url,比如*:js,/jslib/*等等: exclusions: "*.js,*.gif,*.jpg,*.png,*.css,*.ico, /druid/*" # 关闭和开启 session 统计功能,默认关闭 # session-stat-enable: true # sessionStatMaxCount是1000个 # session-stat-max-count: 1000 # 配置principalSessionName,使得druid能够知道当前的session的用户是谁 # principal-session-name: # StatViewServlet配置,说明请参考Druid Wiki,配置_StatViewServlet配置 stat-view-servlet: # 是否启用StatViewServlet,默认值true enabled: true url-pattern: /druid/* # 界面上有一个重置功能执行这个操作之后,会导致所有计数器清零,重新计数建议 false reset-enable: false # 登录的后台的用户名,密码 login-username: admin login-password: admin # 访问控制,可以配置allow和deny这两个参数 # 配置格式 ip 或者 ip/子网掩码(24) 例如 192.168.2.112 ,192.168.2.112/24 # 注意 由于匹配规则不支持IPV6,配置了allow或者deny之后,会导致IPV6无法访问。 # allow: # deny:
3. 监控
-
所有的配置
- 如果是本机,那么 ip:
127.0.0.1
或localhost
-
端口号
在application.yml
设置为了8080
- 在
application.yml
设置了context-path
访问路径为/api/v1
- 在
application-druid.yml
设置了login-username
、login-password
,那么将会用这两个设置的值作为账号密码
进行登录
- 如果是本机,那么 ip:
-
访问路径:localhost:8080/api/v1/druid
登录页
首页