SpringBoot——内置数据源

简单介绍:

在之前我们介绍SpringBoot的数据层解决方案的时候,曾说到过在数据层是由数据源,持久化技术和数据库组成的,之前我们一直使用的都是Druid+MyBatis+MySQL组合的解决方案。这三种方案在之前我们都介绍过如何整合以及基础的使用方法。之前我们也说过,SpringBoot是一款开箱即用的框架,这些东西都是我们后面导入start的时候自己导入的,这次我们就要说到SpringBoot自带的一些数据层解决方案。

内置数据源:

就像是我们一开始在使用web层的时候说到过的一样,SpringBoot默认集成了一个TomCat的内核在框架中,让我们可以使用很少的配置甚至可以不写配置的情况下直接使用Tomcat服务器。对于数据源也是一样的,SpringBoot就内置了一款轻量级的数据源Hikari。

环境介绍:

环境就是一个基础的SpringBoot环境,但是只保留了基础的读取数据库的Dao层用来演示:

在测试类中,读取了数据库中的所有的数据并打印在控制台上:

最终的结果如上所示。

但是这一次我们的关注点并不是结果,而是他所用的数据源: 在这里可以看到,生成的数据源是Druid,是因为我们在做配置文件的时候就设置成了使用Druid数据源:

这个数据源是我们后来自己配置的,在这之前我们导入了Druid的坐标,并配置了数据源类型,如果我们不用Druid的话,这里还会有数据源吗?

我们把设置数据源类型的那段配置删掉,然后重新执行测试用例: 这次可以看到,之前的DruidDataSource已经没有了,但是这里还是有一个DataSource叫做HikarDataSource,这个就是今天我们主要说到的,SpringBoot默认内置的数据源:Hikar

SpringBoot默认提供的数据源对象

SpringBoot默认提供了三种数据源对象:

  • Hikar(默认内置数据源对象)
  • Tomcat的DataSource(当默认的Hikar不可用的时候,并且当前环境是Web环境的时候,将使用Tomcat配置的数据源对象)
  • DBCP(当前两种都不可用的时候,才会使用DBCP数据源对象)

Hikar是轻量级数据源中最快的一个。除了Hikar还有另外两种数据源作为备用选择,这三种都不需要额外的导入其他的坐标,直接在配置文件中就可以做配置切换数据源:

DBCP2之前我们在做原生的JavaWeb的时候提到过,可以在往期的文章里面找相关的内容,其实数据源的使用方面都是差不多的。

这三种数据源的配置,除了一些特有的配置之外,基本的配置都是差不多的,如果想要切换其他的数据源方案可以找对应方案的完整配置。

这一章主要是讲解SpringBoot内置的多种数据源解决方案,丰富我们在选择数据源解决方案时候的选项。

相关推荐
KYGALYX几秒前
服务异步通信
开发语言·后端·微服务·ruby
掘了6 分钟前
「2025 年终总结」在所有失去的人中,我最怀念我自己
前端·后端·年终总结
爬山算法42 分钟前
Hibernate(90)如何在故障注入测试中使用Hibernate?
java·后端·hibernate
kfyty7251 小时前
集成 spring-ai 2.x 实践中遇到的一些问题及解决方案
java·人工智能·spring-ai
猫头虎1 小时前
如何排查并解决项目启动时报错Error encountered while processing: java.io.IOException: closed 的问题
java·开发语言·jvm·spring boot·python·开源·maven
李少兄1 小时前
在 IntelliJ IDEA 中修改 Git 远程仓库地址
java·git·intellij-idea
Moment1 小时前
富文本编辑器在 AI 时代为什么这么受欢迎
前端·javascript·后端
忆~遂愿1 小时前
ops-cv 算子库深度解析:面向视觉任务的硬件优化与数据布局(NCHW/NHWC)策略
java·大数据·linux·人工智能
小韩学长yyds1 小时前
Java序列化避坑指南:明确这4种场景,再也不盲目实现Serializable
java·序列化
仟濹1 小时前
【Java基础】多态 | 打卡day2
java·开发语言