news 2026/6/10 0:24:39

springboot 整合 druid

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
springboot 整合 druid

文章目录

    • 目录
    • pom.xml
      • druid版本问题
      • 项目的依赖
    • application.yml
    • 实体类 User
    • 实体类 User 对应的 controller
    • spboot 的启动程序

目录

pom.xml

druid版本问题

druid 的依赖版本,尽量选择 1.2.20 及 以上,不然会报错

<dependency><groupId>com.alibaba</groupId><artifactId>druid-spring-boot-3-starter</artifactId><version>1.2.20</version>// 不要用 1.2.18 哦,会报错<version>1.2.18</version></dependency>

通过源码分析,druid-spring-boot-3-starter的 1.2.18 版本,
虽然,适配了 SpringBoot3,
但是,缺少自动装配的配置文件,
需要手动在resources目录下创建
META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports,
文件内容如下:

com.alibaba.druid.spring.boot3.autoconfigure.DruidDataSourceAutoConfigure

项目的依赖

<?xml version="1.0" encoding="UTF-8"?><projectxmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>3.0.5</version></parent><groupId>com.atguigu</groupId><artifactId>boot-druid</artifactId><version>1.0-SNAPSHOT</version><properties><maven.compiler.source>17</maven.compiler.source><maven.compiler.target>17</maven.compiler.target><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding></properties><dependencies><!-- web开发的场景启动器 --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><!-- 数据库相关配置启动器 jdbctemplate 事务相关--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-jdbc</artifactId></dependency><!-- druid启动器的依赖 --><dependency><groupId>com.alibaba</groupId><artifactId>druid-spring-boot-3-starter</artifactId><version>1.2.20</version></dependency><!-- 驱动类--><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>8.0.28</version></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>1.18.28</version></dependency></dependencies></project>

application.yml

spring:datasource:type:com.alibaba.druid.pool.DruidDataSource# 使用druid连接池druid:url:jdbc:mysql:///mybatis-exampleusername:rootpassword:rootdriver-class-name:com.mysql.cj.jdbc.Driver# 初始化时建立物理连接的个数initial-size:5# 连接池的最小空闲数量min-idle:5# 连接池最大连接数量max-active:20# 获取连接时最大等待时间,单位毫秒max-wait:60000# 申请连接的时候检测,如果空闲时间大于timeBetweenEvictionRunsMillis,执行validationQuery检测连接是否有效。test-while-idle:true# 既作为检测的间隔时间又作为testWhileIdel执行的依据time-between-eviction-runs-millis:60000# 销毁线程时检测当前连接的最后活动时间和当前时间差大于该值时,关闭当前连接(配置连接在池中的最小生存时间)min-evictable-idle-time-millis:30000# 用来检测数据库连接是否有效的sql 必须是一个查询语句(oracle中为 select 1 from dual)validation-query:select 1# 申请连接时会执行validationQuery检测连接是否有效,开启会降低性能,默认为truetest-on-borrow:false# 归还连接时会执行validationQuery检测连接是否有效,开启会降低性能,默认为truetest-on-return:false# 是否缓存preparedStatement, 也就是PSCache,PSCache对支持游标的数据库性能提升巨大,比如说oracle,在mysql下建议关闭。pool-prepared-statements:false# 要启用PSCache,必须配置大于0,当大于0时,poolPreparedStatements自动触发修改为true。在Druid中,不会存在Oracle下PSCache占用内存过多的问题,可以把这个数值配置大一些,比如说100max-pool-prepared-statement-per-connection-size:-1# 合并多个DruidDataSource的监控数据use-global-data-source-stat:true

实体类 User

packagecom.atguigu.pojo;importlombok.Data;@DatapublicclassUser{privateintempId;privateStringempName;privatedoubleempSalary;}

实体类 User 对应的 controller

packagecom.atguigu.controller;importcom.atguigu.pojo.User;importorg.springframework.beans.factory.annotation.Autowired;importorg.springframework.jdbc.core.BeanPropertyRowMapper;importorg.springframework.jdbc.core.JdbcTemplate;importorg.springframework.web.bind.annotation.GetMapping;importorg.springframework.web.bind.annotation.RequestMapping;importorg.springframework.web.bind.annotation.RestController;importjava.util.List;@RestController@RequestMapping("user")publicclassUserController{@AutowiredprivateJdbcTemplatejdbcTemplate;@GetMapping("findAll")publicList<User>findAll(){Stringsql="select * from t_emp";List<User>list=jdbcTemplate.query(sql,newBeanPropertyRowMapper<>(User.class));returnlist;}}

spboot 的启动程序

packagecom.atguigu;importorg.springframework.boot.SpringApplication;importorg.springframework.boot.autoconfigure.SpringBootApplication;@SpringBootApplicationpublicclassMain{publicstaticvoidmain(String[]args){SpringApplication.run(Main.class,args);}}

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/10 12:37:46

好写作AI背后的技术:算法如何“读懂”你的创作意图?

你是不是也经历过这样的绝望时刻&#xff1f; 深夜对着空白文档&#xff0c;心里翻江倒海&#xff0c;指尖却只敲出&#xff1a;“这个…那个…总之…” 而当你打开某个写作工具&#xff0c;它却只会冷冰冰地提醒你&#xff1a;“这里有语病”“那里建议换词”——它根本不懂你…

作者头像 李华
网站建设 2026/6/10 11:46:24

好写作AI:从灵感到成稿,如何为你全程“充电赋能”?

写作最痛苦的瞬间是什么&#xff1f; 不是面对空白文档&#xff0c;而是——灵感闪现时抓不住&#xff0c;大纲列好后填不满&#xff0c;写到最后一段时发现偏了题。 传统写作就像孤身走暗巷&#xff0c;每个环节都可能“扑街”。但用好写作AI&#xff0c;你会获得一套完整的“…

作者头像 李华
网站建设 2026/6/9 22:35:28

AI应用软件的外包开发

在国内进行AI应用软件的外包开发&#xff0c;2026年的市场环境已经从“盲目跟风”转向了“结果导向”。现在的外包不再只是写代码&#xff0c;更多是模型调优、私有数据工程与业务逻辑的深度解构。 以下是关于国内AI外包开发的避坑指南与核心考量&#xff1a; 一、 核心外包类…

作者头像 李华
网站建设 2026/6/10 12:37:59

设计心得—如何使用多线程开发

一、多线程开发 多线程开发的特点就是并发&#xff08;并行&#xff09;&#xff0c;早期的多线程说直白一些就为了更好的利用CPU&#xff0c;而后期的多线程就更广泛了&#xff0c;甚至CPU的增多&#xff0c;并行与并发已经不再有明显的界限。利用多线程进行并发的开发&#x…

作者头像 李华
网站建设 2026/6/10 10:44:24

DIODES AL8862SP-13 SOP8 LED驱动

特性宽输入电压范围&#xff1a;5V至60V输出电流最高可达1A内置60V NDMOS开关典型输出电流精度为4%单引脚通过直流电压或PWM信号实现开/关和亮度控制高效率&#xff08;最高可达97%&#xff09;LED短路保护固有LED开路保护电流检测电阻短路保护、过温关断最高1MHz开关频率提供采…

作者头像 李华
网站建设 2026/6/10 11:52:04

参考文献崩了?当红之选的AI论文网站 —— 千笔

你是否曾为论文选题发愁&#xff1f;是否在深夜面对空白文档无从下笔&#xff1f;是否反复修改却总觉得表达不够专业&#xff1f;论文写作的种种难题&#xff0c;让无数专科生感到焦虑和无助。而如今&#xff0c;一款专为学生打造的AI论文工具——千笔AI&#xff0c;正悄然改变…

作者头像 李华