SpringBoot默认使⽤HikariDataSource数据源⽅式
SpringBoot默认使⽤HikariDataSource数据源
定义
数据源:存储了所有建⽴数据库连接的信息。通过提供正确的数据源名称,你可以到相应的数据库连接。
数据源负责维持⼀个数据库连接池,当程序创建数据源实例时,系统会⼀次性的创建多个数据库连接,并把这些数据连接保存在连接池中。当程序需要进⾏数据库访问时,⽆须重新获得数据库连接,⽽是从连接池中取出⼀个空闲的数据库连接,当程序使⽤数据库连接访问结束后,⽆须关闭数据库连接,⽽是将数据库连接归还给连接池即可。通过这种⽅式可以避免频繁的获取数据库连接,关闭数据库连接所导致的性能下降。
validation框架全局配置⽂件l中spring.datasource下只配置了账号,密码,数据库地址,连接驱动,因为默认使⽤的是HikariDataSource数据源。
如果是⾃定义数据源,可以使⽤
pe=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("数据源>>>>>>" + Class());
}
Java技术迷
运⾏结果:
数据源>>>>>>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 = Millis(10);
private static final long MAX_LIFETIME = Millis(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;

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。