jdbc可以直接操作数据库,为什么还要使用spring等框架?

文章讲述了随着业务发展,从JDBC连接管理到数据连接池的使用,以及DAO和myBatis框架如何简化数据操作。进一步讨论了控制反转(IOC)的概念,特别是Spring框架如何实现动态配置,以适应不同的客户需求,如短信和邮件通知的灵活性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

jdbc建立一个连接要几百毫秒,而执行一个普通的SQL仅仅需要几毫秒。这么重量级的资源建立了就释放了不合适,得找个容器存起来,需要用就来取,不用了就还给容器,毕竟容器里的借取比建立一个连接要快的多。这样的容器叫做数据连接池,常用的像阿里的连接池。

随着业务的增长,你会发现jdbc的接口对于业务来说,操作很繁琐,有一大半的代码在往bean里塞数据,下标还是从1开始的。这时候你就会想,要不独立一层,专门处理把jdbc读取出来的数据塞进bean里吧。这一层就是DAO(mapper),比较出名的框架就是myBatis。

渐渐地,使用公司产品的客户越来越多,但是一部分客户希望系统通知通过短信来推送,另一部分希望通过邮件。除此之外,大家对剩下的功能没有任何分歧。虽然在编写代码时,你已经在这里对通知的推送做了接口隔离,但是因为这个接口的引用指向的一个new关键字创建对象,所以程序的行为在编译时就已经确定了。为了响应另一部分客户的需求,你不得不在打包前,去修改代码。这时候你就在想:如果程序的行为可以通过一些配置在运行时才确定,或许可以改善现在的处境。这种把对象的实例化交给容器(运行中的程序)而不是另一个对象(硬编码的代码)的设计思想叫控制反转(IOC),这就是Spring所做的事情。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

庞胖

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值