SpringBoot默认使用HikariDataSource数据源方式
作者:程序猿新手_曹先生 时间:2022-03-18 01:04:46
SpringBoot默认使用HikariDataSource数据源
定义
数据源:存储了所有建立数据库连接的信息。通过提供正确的数据源名称,你可以找到相应的数据库连接。
数据源负责维持一个数据库连接池,当程序创建数据源实例时,系统会一次性的创建多个数据库连接,并把这些数据连接保存在连接池中。当程序需要进行数据库访问时,无须重新获得数据库连接,而是从连接池中取出一个空闲的数据库连接,当程序使用数据库连接访问结束后,无须关闭数据库连接,而是将数据库连接归还给连接池即可。通过这种方式可以避免频繁的获取数据库连接,关闭数据库连接所导致的性能下降。
全局配置文件application.yml中spring.datasource下只配置了账号,密码,数据库地址,连接驱动,因为默认使用的是HikariDataSource数据源。
如果是自定义数据源,可以使用
spring.datasource.type=com.zaxxer.hikari.HikariDataSource
测试:
@RunWith(SpringRunner.class)
@SpringBootTest
public class HorseApplicationTests {
/**
* Spring Boot 默认已经配置好了数据源,程序员可以直接 DI 注入然后使用即可
*/
@Resource
DataSource dataSource;
@Test
public void contextLoads() throws SQLException {
System.out.println("数据源>>>>>>" + dataSource.getClass());
}
运行结果:
数据源>>>>>>class com.zaxxer.hikari.HikariDataSource
数据库连接
有了数据源,就可以拿到数据库连接,使用JdbcTemplate 进行CRUD数据库,即使没有使用第三方数据库操作框架,如:Mybatis,Hibernate,等Spring本身就可以对原生的JDBC做了轻量级的封装,即时JdbcTemplate.
SpringBoot不仅提供了默认的数据源,同时默认已经配置好了JdbcTemplate放在容器中,程序员只需自己注入即可使用。
JdbcTemplate的自动装配原理是依赖JdbcTemplateAutoConfiguration类。
HikariDataSource默认配置
com.zaxxer.hikari.HikariConfig
private static final long IDLE_TIMEOUT = MINUTES.toMillis(10);
private static final long MAX_LIFETIME = MINUTES.toMillis(30);
private static final int DEFAULT_POOL_SIZE = 10;
private static boolean unitTest = false;
// Properties changeable at runtime through the HikariConfigMXBean
//
private volatile long connectionTimeout;
private volatile long validationTimeout;
private volatile long idleTimeout;
private volatile long leakDetectionThreshold;
private volatile long maxLifetime;
private volatile int maxPoolSize;
private volatile int minIdle;
private volatile String username;
private volatile String password;
来源:https://blog.csdn.net/qq_41691210/article/details/110736283
标签:SpringBoot,HikariDataSource,数据源
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
SpringBoot定时任务两种(Spring Schedule 与 Quartz 整合 )实现方法
2023-11-01 16:03:39
eclipse的web项目实现Javaweb购物车的方法
2023-07-28 15:55:53
![](https://img.aspxhome.com/file/2023/2/64152_0s.png)
TransmittableThreadLocal解决线程间上下文传递烦恼
2023-11-09 17:09:35
Java中的强引用,软引用,弱引用,虚引用的作用介绍
2023-08-27 11:03:28
![](https://img.aspxhome.com/file/2023/1/58411_0s.png)
Java设计模式之java命令模式详解
2023-11-13 16:00:36
![](https://img.aspxhome.com/file/2023/5/59685_0s.png)
Spring Boot启动过程(四)之Spring Boot内嵌Tomcat启动
2023-09-21 00:16:18
![](https://img.aspxhome.com/file/2023/7/58577_0s.png)
浅析JDK12的五大重要新特性(推荐)
2023-01-28 19:09:24
Java如何把数组转换为ArrayList
2021-08-14 19:59:45
c++中的string常用函数用法总结
2023-11-02 16:44:02
基于spring boot 的配置参考大全(推荐)
2021-11-28 23:32:41
浅谈java多线程wait,notify
2023-11-29 16:29:03
IDEA解决src和resource下创建多级目录的操作
2023-03-24 07:05:37
![](https://img.aspxhome.com/file/2023/0/63690_0s.jpg)
使用springboot整合RateLimiter限流过程
2022-09-12 21:42:48
![](https://img.aspxhome.com/file/2023/5/61655_0s.png)
如何利用IDEA搭建SpringBoot项目整合mybatis实现简单的登录功能
2022-01-15 06:14:59
![](https://img.aspxhome.com/file/2023/9/61849_0s.png)
Spring boot如何集成kaptcha并生成验证码
2023-09-13 04:00:24
![](https://img.aspxhome.com/file/2023/8/64918_0s.png)
java批量修改文件后缀名方法总结
2022-03-15 15:46:04
![](https://img.aspxhome.com/file/2023/5/62655_0s.png)
JavaMap两种遍历方式keySet与entrySet详解
2022-04-17 14:36:29
快速了解Maven
2022-10-22 20:18:33
![](https://img.aspxhome.com/file/2023/9/68539_0s.png)
Java实现24点小游戏
2023-07-26 07:34:55
![](https://img.aspxhome.com/file/2023/6/63336_0s.png)
解读Spring-boot的debug调试
2022-06-09 15:04:06
![](https://img.aspxhome.com/file/2023/9/62499_0s.png)