文章前提:前面開發項目的時候數據池一直用的阿里的druid,這個數據池吧也不能說它不好,為什么現在想改成hikaricp數據池呢,完全是實用項目需要。druid問題:
問題一:druid的問題出在它功能太多了,項目進本開發完了,然后發現這些功能根本就沒用到,比如它的數據池監控界面什么的,根本就沒人用過尷尬,還有它監控了很多東西,導致它攔截了很多東西,日志什么的都要攔截,實際項目開發的時候用到了很多的技術,很多次都是druid報錯,就是它的攔截配置攔截的太厲害了,跟有的技術還有一些沖突,也不是不能解決,改下druidconfig的事情,但是做多了就煩了,這是最要人命的。
問題二:druid本身跟spring boot是不兼容的,需要寫一個config文件注入到spring boot的配置文件中,這么寫就算能用,但是在application.yml還是會報黃色警告,對於代碼有強迫症的人來說有點難受,不過這都是小問題
問題三:druid的性能沒有hikaricp好,尤其是在處理大量數據的時候效果更明顯,這也是小問題
總的來說hikaricp的功能正好是我們需要的,不多不少,性能還好就選上它了
demo功能簡介: 就是基本的spring boot技術面向業務,mybatis跟數據庫打交道,hikaricp數據池,swagger2生成在線文檔,jasypt加密明文密碼
這里就不一一記錄了,親測可用

然后項目開發完了以后需要關閉swagger2在線文檔怎么關閉呢
步驟一:屏蔽swagger配置文件上的注解,這樣就沒有json數據了



這樣就只剩下UI了,都沒有json數據了空的UI
步驟二:屏蔽swaggerUI的包,任何整個項目swagger2就完全不能用了,就跟沒有使用過swagger2一樣。

配置文件明文密碼加密問題:
第一步,導入一個最新版本的包:
<dependency>
<groupId>com.github.ulisesbocchio</groupId>
<artifactId>jasypt-spring-boot-starter</artifactId>
<version>1.16</version>
</dependency>
在主函數加入@EnableEncryptableProperties注解
第二步:生成加密密碼
可以用jar命令生成,也可以用代碼寫

運行Test函數在控制台copy加密后的密碼,然后加在配置文件里面
第三步,配置文件,foo那個是固定寫法

jasypt的github地址:https://github.com/ulisesbocchio/jasypt-spring-boot
項目源碼github地址:https://github.com/waterlufei/spring-boot,TestHirikacp項目
