druid和druid-spring-boot-starter 的区别

今天建项目的时候,使用springboot整合druid的时候启动报错:

springboot项目中提示报错Cannot resolve configuration property 'spring.datasource.xxxx'

然后我就网上搜索资料,可以参考:

https://www.cnblogs.com/dxiaodang/p/14571590.html

主要原因还是要不要手动写配置类,spring boot 的使用 auto帮我们封装好了属性值

描述如下:

    1. 作用是一样的,都是连接池提供连接,里边的配置参数都是一样的;
    2. druid-spring-boot-starter只是在druid基础上进行了一次封装,专门用来整合spring-boot项目;
      如果springboot项目想使用druid也是可以的,但是需要手动编写配置类并注入到bean中,并加载对应的配置参数;但是不建议,明明有现成封装好的jar,就直接使用就好了!!!

所以我后面改成了使用druid-spring-boot-starter依赖。

<!--改为stater的方式-->
<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>druid-spring-boot-starter</artifactId>
    <version>${druid.version}</version>
</dependency>

并且在application.yml文件中配置如下内容:

复制代码
spring:
  datasource:
    type: com.alibaba.druid.pool.DruidDataSource
#    driver-class-name: com.mysql.jdbc.Driver
    url: jdbc:mysql://localhost:3306/test01
    username: root
    password: 123456
    driver-class-name: com.mysql.cj.jdbc.Driver
  druid:
    #   Druid数据源配置
    # 初始连接数
    initialSize: 5
    # 最小连接池数量
    minIdle: 10
    # 最大连接池数量
    maxActive: 20
    # 配置获取连接等待超时的时间
    maxWait: 60000
    # 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒
    timeBetweenEvictionRunsMillis: 60000
    # 配置一个连接在池中最小生存的时间,单位是毫秒
    minEvictableIdleTimeMillis: 300000
    # 配置一个连接在池中最大生存的时间,单位是毫秒
    maxEvictableIdleTimeMillis: 900000
    # 配置检测连接是否有效
    validationQuery: SELECT 1
    #申请连接的时候检测,如果空闲时间大于timeBetweenEvictionRunsMillis,执行validationQuery检测连接是否有效。
    testWhileIdle: true
    #配置从连接池获取连接时,是否检查连接有效性,true每次都检查;false不检查。做了这个配置会降低性能。
    testOnBorrow: false
    #配置向连接池归还连接时,是否检查连接有效性,true每次都检查;false不检查。做了这个配置会降低性能。
    testOnReturn: false
    #打开PsCache,并且指定每个连接上PSCache的大小
    poolPreparedStatements: true
    maxPoolPreparedStatementPerConnectionSize: 20
    #   配置监控统计拦截的filters,去掉后监控界面sql无法统计,'wall'用于防火墙
    filters: stat,wall,log4j
    #合并多个DruidDatasource的监控数据
    useGlobalDataSourceStat: true
    #通过connectProperties属性来打开mergesql功能罗慢sQL记录
    connectionProperties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=500;
复制代码

这样就不需要单独对DruidDatasource写个配置类了。



如果您觉得阅读本文对您有帮助,请点一下“推荐”按钮,您的“推荐”将是我最大的写作动力!欢迎各位转载,但是未经作者本人同意,转载文章之后必须在文章页面明显位置给出作者和原文连接,否则保留追究法律责任的权利。
posted @   君莫笑我十年游  阅读(2147)  评论(0编辑  收藏  举报
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
历史上的今天:
2020-10-10 c# TargetInvocationException 异常原因:缺少dll依赖
2020-10-10 mysql建数据库的字符集与排序规则说明
2019-10-10 pymysql基本操作
2019-10-10 gitpython 操作
2019-10-10 CentOS 7编译安装Python3.7.X
点击右上角即可分享
微信分享提示