关于java:Spring-Boot初步学习02

1次阅读

共计 1012 个字符,预计需要花费 3 分钟才能阅读完成。

在上文 Spring Boot 初步学习 01(点击查看) 中, 咱们曾经将 STS 开发工具整合 Maven 创立了我的项目, 进行了测试, 这篇文章咱们一起持续整合一下连接池.

连接池抉择

市面上对于数据库连接池有很多抉择, 如:C3P0,Druid,HikariCP 等.
留神: 数据库连接池都须要实现数据库连接池公共接口:javax.sql.DataSource

本文中抉择 HikariCP 连接池号称是目前最快的连接池, 而且目前在 springboot 工程默认举荐应用 HiKariCP 连接池.

整合 HiKariCP 连接池

创立我的项目

创立一个 Spring Starter Project 我的项目

增加依赖

右键我的项目中的 pom.xml 文件 –> spring –> Edit Starters –> 搜寻 jdbc –> 勾选 MySQL Driver/JDBC API 两个依赖 –> 保留会主动下载依赖

留神:
看似咱们并没有抉择上文说好的 HiKariCP 连接池, 这是因为在 pom.xml 中 jdbc 依赖会默认帮咱们下载 HiKariCP 连接池.

配置连接池

SpringBoot 中提倡的就是零配置, 少配置.
只须要在 application.properties 配置文件中进行大量配置数据库信息即可.

配置信息如下图:

别离是数据库 url 地址 / 用户名 / 明码, 皆依据本身状况设定.

过程剖析

首先各种连接池都是实现的 DataSource 接口, 创建对象时, 咱们采纳父类申明 / 子类创立的形式, 这是面向接口的思维, 能够更加无效的解耦, 也更加不便当前的批改或是保护.

HiKariCP 连接池创立连贯时, 第一次创立时, 破费工夫会较长, 再次获取连贯会绝对工夫短很多, 是因为第一次创立时, 须要先创立池, 再去创立连贯寄存在池中或间接应用, 所以工夫会较长.

并且当只是创立一个连贯时, 通过断点跟踪, 能够看到就只是创立了一次; 而当咱们须要创立两个及以上的连贯时, 通过断电追踪, 也能够发现, 都会在须要的根底上再多创立一个, 这是因为底层会多创立一个备用的机制, 以防如果呈现问题, 或是再有需要时应用.

另外, 当连贯都在应用时, 同一时间是不会有雷同的连贯给别离的对象应用的, 这是基于连接池底层的双重校验机制; 其劣势就是在保障线程平安的同时还会思考其性能; 只有当连贯应用完后放回至连接池中, 再有对象应用时, 才有可能应用到反复的连接池.

最初, 当框架应用连接池时, 其实也是由 DirverManage 来创立, 只是之后会交给池来治理, 底层都是一样的.

正文完
 0