软件编程
位置:首页>> 软件编程>> java编程>> SpringBoot默认使用HikariDataSource数据源方式

SpringBoot默认使用HikariDataSource数据源方式

作者:程序猿新手_曹先生  发布时间:2022-03-18 01:04:46 

标签:SpringBoot,HikariDataSource,数据源

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

0
投稿

猜你喜欢

手机版 软件编程 asp之家 www.aspxhome.com