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内置的多种数据源解决方案,丰富我们在选择数据源解决方案时候的选项。

相关推荐
一只小青团3 分钟前
Python之面向对象和类
java·开发语言
好奇的菜鸟5 分钟前
Spring Boot 事务失效问题:同一个 Service 类中方法调用导致事务失效的原因及解决方案
数据库·spring boot·sql
qq_5298353530 分钟前
ThreadLocal内存泄漏 强引用vs弱引用
java·开发语言·jvm
落笔画忧愁e35 分钟前
扣子Coze飞书多维表插件添加数据记录
java·服务器·飞书
来自宇宙的曹先生1 小时前
视频网站弹幕系统简易实现
spring boot·音视频
姑苏洛言2 小时前
编写产品需求文档:黄历日历小程序
前端·javascript·后端
秋千码途3 小时前
小架构step系列08:logback.xml的配置
xml·java·logback
飞翔的佩奇3 小时前
Java项目:基于SSM框架实现的旅游协会管理系统【ssm+B/S架构+源码+数据库+毕业论文】
java·数据库·mysql·毕业设计·ssm·旅游·jsp
姑苏洛言3 小时前
搭建一款结合传统黄历功能的日历小程序
前端·javascript·后端
你的人类朋友3 小时前
🍃认识一下boomi
后端