SpringBoot——内置数据源

news2024/11/24 8:42:00

简单介绍:

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/795170.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Django模型将模型注释同步到数据库

1、安装django-comment-migrate库 pip install django-comment-migrate 2、将库注册到settings.py文件中 INSTALLED_APPS [...django_comment_migrate, # 表注释... ] 3、加注释 3.1、给模型(表)加注释 在模型的class Meta中编辑 verbose_name&…

嵌入式:QT Day2

一、继续完善登录框&#xff0c;当登陆成功时&#xff0c;关闭登陆页面&#xff0c;跳转到新的界面中 源码&#xff1a; widget.h #ifndef WIDGET_H #define WIDGET_H#include <QWidget> #include <QDebug> //用于打印输出 #include <QIcon> …

部署 cacti 监控系统

Cacti Cacti&#xff08;流量和性能监测为主&#xff09; Cacti 在英文中的意思是仙人掌的意思&#xff0c;Cacti 是一套基于 PHP、MySQL、SNMP 及 RRDTool 开发的网络流量监测图形分析工具。它通过 snmpget 来获取数据&#xff0c;使用 RRDtool 绘画图形&#xff0c;而且你完…

LiveGBS流媒体平台GB/T28181常见问题-国标设备列表没有数据海康大华宇视华为监控摄像机NVR硬件设备注册不上来如何排查?

LiveGBS中国标设备列表没有数据海康大华宇视华为监控摄像机NVR硬件设备注册不上来如何排查&#xff1f; 1、国标设备列表看不到注册上来的设备2、检查方式2.1、检查设备注册信息2.2、检查服务器防火墙 3、尝试配置免密接入3.1、基础配置->白名单3.2、添加白名单 4、更多排查…

C# 目标平台为x64,自定义控件不可用,显示控件未能加载,错误解决方法

由于项目加载第三方的dll需要编译成x64&#xff0c;设置编译目标为x64 结果打开窗口设计器时&#xff0c;自定义的控件不能显示及加载 错误消息&#xff1a;未能找到类型“XXX”。请确保已引用包含此类型的程序集。如果此类型为开发项目的一部分&#xff0c;请确保已使用针对当…

ChatGPT有几个版本,哪个版本最强,如何选择适合自己的?

​ChatGPT就像内容生产界的瑞士军刀。它可以是数学导师、治疗师、职业顾问、编程助手&#xff0c;甚至是旅行指南。只要你知道如何让它做你想做的事&#xff0c;ChatGPT几乎可以提供你要的任何东西。 但重要的是&#xff0c;你知道哪个版本的ChatGPT最能满足你的需求吗&#x…

STM32CubeIDE(I2C)

目录 一、IIC轮询模式 1.1 配置 1.2 编写AHT20驱动 1.2.1 aht20.h 1.2.2 aht20.c 二、I2C中断 2.1 打开中断 2.2 分离读取流程 2.3 在主函数中重新编写读取流程 2.4 在i2c.c中重新定义stm32f1xx_hal_i2c.h中的两个函数 三、I2CDMA 3.1 配置DMA通道 3.2 代码的修改 一…

【优选算法题练习】day9

文章目录 一、DP35 【模板】二维前缀和1.题目简介2.解题思路3.代码4.运行结果 二、面试题 01.01. 判定字符是否唯一1.题目简介2.解题思路3.代码4.运行结果 三、724. 寻找数组的中心下标1.题目简介2.解题思路3.代码4.运行结果 总结 一、DP35 【模板】二维前缀和 1.题目简介 DP…

LeetCode三步问题(动态规划)

LeetCode三步问题&#xff08;动态规划&#xff09; 编写代码代码优化 链接: 三步问题 编写代码 class Solution { public:int waysToStep(int n) {if(n 1 || n 2) return n;vector<int> dp(n1);const int MOD 1e9 7;dp[0] dp[1] 1;dp[2] 2;for(int i 3;i<n…

WEB:file_include

背景知识 php伪协议 文件包含漏洞 php包含漏洞函数 题目 由题目可知这个是文件包含的题目&#xff0c;先用常用的协议先查看一下 payload ?filenamephp://filter/readconvert.base64-encode/resourceflag.php 出现了 发现filter&#xff0c;base64被过滤了 尝试其他协议 …

Elasticsearch监控工具Cerebro安装

Elasticsearch监控工具Cerebro安装 1、在windwos下的安装 1.1 下载安装包 https://github.com/lmenezes/cerebro/releases/download/v0.9.4/cerebro-0.9.4.zip 1.2 解压 1.3 修改配置文件 如果需要修改相关信息&#xff0c;编辑C:\zsxsoftware\cerebro-0.9.4\conf\applica…

c语言用冒泡排序模拟实现qsort排序

1、简单介绍冒泡排序 冒泡排序就是两两相邻元素进行比较&#xff0c;如果不满足顺序就进行交换。现有一组整数&#xff0c;将其用冒泡排序实现排序为升序。 假设有这样一组整数&#xff1a;9 8 7 6 5 由此可知&#xff0c;如果一个整型数组有num个元素&#xff0c;则需走num…

第一次作业 运维高级 MySQL备份与还原

1.创建student和score表 CREATE TABLE student ( id INT(10) NOT NULL UNIQUE PRIMARY KEY , name VARCHAR(20) NOT NULL , sex VARCHAR(4) , birth YEAR, department VARCHAR(20) , address VARCHAR(50) );CREATE TABLE score ( id INT(10) NOT NULL UNIQUE PRIMARY KEY AUTO…

交叉编译----宿主机x86 ubuntu 64位-目标机ARMv8 aarch64

1.交叉编译是什么&#xff0c;为什么要交叉编译 编译&#xff1a;在一个平台上生成在该平台上的可执行代码交叉编译&#xff1a;在一个平台上生成在另一个平台上的可执行代码交叉编译的例子&#xff1a;如51单片机的可执行代码&#xff08;hex文件&#xff09;是在集成环境kei…

区间预测 | MATLAB实现QRGRU门控循环单元分位数回归多输入单输出区间预测

区间预测 | MATLAB实现QRGRU门控循环单元分位数回归时间序列区间预测 目录 区间预测 | MATLAB实现QRGRU门控循环单元分位数回归时间序列区间预测效果一览基本介绍模型描述程序设计参考资料 效果一览 基本介绍 MATLAB实现QRGRU门控循环单元分位数回归分位数回归多输入单输出区间…

【Docker】安全及日志管理

目录 一、Docker 安全及日志管理1.1 Docker 容器与虚拟机的区别1. 隔离与共享2. 性能与损耗 1.2Docker 存在的安全问题1.Docker 自身漏洞2.Docker 源码问题 1.3 Docker 架构缺陷与安全机制1. 容器之间的局域网攻击2. DDoS 攻击耗尽资源3. 有漏洞的系统调用4. 共享root用户权限 …

Python in VS Code 2023年7月发布|Mypy 扩展预览版与调试扩展、Pylance 本地化及其他

排版&#xff1a;Alan Wang 我们很高兴地宣布 Visual Studio Code 的 Python 和 Jupyter 扩展将于 2023 年 7 月发布&#xff01; 此版本包括以下更新&#xff1a; Mypy 扩展预览版预览版中的调试扩展Pylance 本地化使用 Pylance 的第三方库的索引持久性即将弃用 Python 3.7 支…

新功能 – Cloud WAN:托管 WAN 服务

我很高兴地宣布&#xff0c;我们推出了 Amazon Cloud WAN&#xff0c;这是一项新的网络服务&#xff0c;它可以轻松构建和运营连接您的数据中心和分支机构以及多个 Amazon 区域中的多个 VPC 的广域网&#xff08;WAN&#xff09;。 亚马逊云科技开发者社区为开发者们提供全球的…

win10 双系统 安装 Ubuntu20.04 记录

写这篇博客的原因 我今天晚上想重装ubuntu&#xff0c;结果不小心用genius 把属于win10的分区也给删除&#xff0c;只保留C盘和D盘。重装win10之后&#xff0c;我以为D盘还会有数据在&#xff0c;结果啥没了&#xff0c;甚至我的毕业照都没了。所以还是要准备一块移动硬盘&…

redis启动失败,oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo

在redis文件夹下&#xff0c;启动redis正常。 但是加入到system后启动redis失败。 一直处于starting状态。 对比正常redis服务的配置之后&#xff0c;把redis.conf里的守护进程关掉就可以了&#xff08;但是没用system管理之前&#xff0c;直接./redis.server启动是可以的&…