当前位置: 首页 > news >正文

spring第9课,spring对DAO的支持

翻了一下,上一次的学习时间还是2025-06-18。中断的原因,准备银从考试2个星期,准备公司考试2个星期,出差2个星期,小孩暑期过来玩2个星期。2个月一晃而过。。。

第一节:Spring 对 JDBC 的支持(JDBC是最原始的连接DB的技术)

1,配置数据源 dbcp;

Database Connection Pool)数据库连接池技术的实现库,属于Apache Commons项目子模块。

优势:

  • 预初始化固定数量的数据库连接(initialSize
  • 复用空闲连接(减少90%+的连接创建开销)
  • 动态伸缩连接池(maxActiveminIdle控制上下限)
  • 典型应用场景(传统Java Web项目-SSH/SSM框架整合):

    Spring配置文件中声明BasicDataSource注入到SqlSessionFactory
    • Tomcat等应用服务器内嵌DBCP作为默认连接池(旧版本)
  • 短板

  • 性能瓶颈
    • 锁竞争激烈(synchronized全局锁)导致高并发下TPS骤降
    • 连接回收算法落后(LRU策略 vs HikariCP的FastList优化)
  • 监控能力缺失
    • 无实时连接数/等待数统计
    • 无法追踪SQL执行链路(对比Druid的SQL防火墙功能)
  • 容器化支持弱
    • 缺乏K8s环境下的自动扩缩容机制
  • 替代者:druid

2,使用模板 JdbcTemplate;(原来的一些连接,抛异常等处理被spring封装了)

bean.xml定义时多引入下context空间的内容 

xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/contexthttp://www.springframework.org/schema/context/spring-context.xsd"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/contexthttp://www.springframework.org/schema/context/spring-context.xsd"

定义数据源连接池

<!-- 定义 dataSource-->
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"><property name="driverClassName" value="${jdbc.driverClassName}"/><property name="url" value="${jdbc.url}"/><property name="username" value="${jdbc.username}"/><property name="password" value="${jdbc.password}"/></bean>

http://www.xdnf.cn/news/1331659.html

相关文章:

  • 【C++】模版(初阶)
  • 【STM32】HAL库中的实现(六):DAC (数模转换)
  • wpf之ComboBox
  • uniapp学习【上手篇】
  • Ubuntu 重连usb设备(断电和不断电方案)亲测可行
  • 【科研绘图系列】R语言绘制平滑曲线折线图
  • SQL面试题及详细答案150道(41-60) --- 条件查询与分组篇
  • 【报错】Please do not run this script with sudo bash
  • 开源大模型如何选择?GPT-OSS综合评估
  • IDEA切换分支时,提示:Git Checkout Problem
  • 4位量化:常规的线性层被替换成了4位线性层(48)
  • 服务器硬件电路设计之 SPI 问答(二):SPI 与 I2C 的特性博弈及多从机设计之道
  • 基于单片机环境火灾安全检测
  • 27.语言模型
  • 3D max制作蝴蝶结详细步骤(新手可跟)♥️
  • Angular入门教程
  • Angular由一个bug说起之十八:伴随框架升级而升级ESLint遇到的问题与思考
  • 【机器学习】什么是损失景观(Loss Landscape)?
  • FPGA实现Aurora 64B66B图像视频点对点传输,基于GTH高速收发器,提供2套工程源码和技术支持
  • 大数据毕业设计选题推荐-基于大数据的1688商品类目关系分析与可视化系统-Hadoop-Spark-数据可视化-BigData
  • 新手向:使用STM32通过RS485通信接口控制步进电机
  • 实验8.20
  • Feign - 降级选 fallback 还是 fallbackFactory
  • HTTP/1.1 与 HTTP/2 全面对比:性能革命的深度解析
  • Final Cut Pro X Mac fcpx音视频剪辑编辑
  • MacBook Pro M1升级Burp Suite2025.8
  • 实时视频技术选型深度解析:RTSP、RTMP 与 WebRTC 的边界
  • AI on Mac, Your Way!全本地化智能代理,隐私与性能兼得
  • STM32存储结构
  • 【JavaEE】多线程(线程安全问题)