温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

SpringBoot默认使用HikariDataSource数据源方式及配置是怎样的

发布时间:2021-10-08 09:58:24 来源:亿速云 阅读:296 作者:柒染 栏目:开发技术

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;

    看完上述内容,你们掌握SpringBoot默认使用HikariDataSource数据源方式及配置是怎样的的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注亿速云行业资讯频道,感谢各位的阅读!

    向AI问一下细节

    免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

    AI