在上文Spring Boot 初步学习01(点击查看)中,咱们已经将STS开发工具整合Maven建立了项目,进行了测试,这篇文章咱们一块儿继续整合一下链接池.java
市面上对于数据库链接池有不少选择,如:C3P0,Druid,HikariCP等.
注意:数据库链接池都须要实现数据库链接池公共接口:javax.sql.DataSourcespring
本文中选择HikariCP链接池号称是目前最快的链接池,并且目前在springboot工程默认推荐使用HiKariCP链接池.sql
建立一个Spring Starter Project项目数据库
右键项目中的pom.xml文件 --> spring --> Edit Starters --> 搜索jdbc --> 勾选MySQL Driver/JDBC API两个依赖 --> 保存会自动下载依赖segmentfault
注意:
看似咱们并无选择上文说好的HiKariCP链接池,这是由于在pom.xml中jdbc依赖会默认帮咱们下载HiKariCP链接池.安全
SpringBoot中提倡的就是零配置,少配置.
只须要在application.properties配置文件中进行少许配置数据库信息便可.springboot
配置信息以下图:
分别是数据库url地址/用户名/密码,皆根据自身状况设定.app
首先各类链接池都是实现的DataSource接口,建立对象时,咱们采用父类声明/子类建立的方式,这是面向接口的思想,能够更加有效的解耦,也更加方便之后的修改或是维护.框架
HiKariCP链接池建立链接时,第一次建立时,花费时间会较长,再次获取链接会相对时间短不少,是因为第一次建立时,须要先建立池,再去建立链接存放在池中或直接使用,因此时间会较长.工具
而且当只是建立一个链接时,经过断点跟踪,能够看到就只是建立了一次;而当咱们须要建立两个及以上的链接时,经过断电追踪,也能够发现,都会在须要的基础上再多建立一个,这是因为底层会多建立一个备用的机制,以防若是出现问题,或是再有需求时使用.
另外,当链接都在使用时,同一时间是不会有相同的链接给分别的对象使用的,这是基于链接池底层的双重校验机制;其优点就是在保证线程安全的同时还会考虑其性能;只有当链接使用完后放回至链接池中,再有对象使用时,才有可能使用到重复的链接池.
最后,当框架使用链接池时,其实也是由DirverManage来建立,只是以后会交给池来管理,底层都是同样的.