springboot配置數據庫連接池

一、傳統java配置

java配置主要靠java類和一些註解,比較常用的註解有:

  • @Configuration:聲明一個類作爲配置類,代替xml文件
  • @Bean:聲明在方法上,將方法的返回值加入Bean容器,代替標籤
  • @value:屬性注入
  • @PropertySource:指定外部屬性文件,

1.首先引入Druid連接池依賴:

   <dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>druid</artifactId>
    <version>1.1.6</version>
   </dependency>

2.創建一個jdbc.properties文件,編寫jdbc屬性:
在這裏插入圖片描述
在這裏插入圖片描述
3.創建一個JdbcConfig類
在這裏插入圖片描述
在這裏插入圖片描述
解讀:

  • @Configuration:聲明我們JdbcConfig是一個配置類
  • @PropertySource:指定屬性文件的路徑是:classpath:jdbc.properties
  • 通過@Value爲屬性注入值
  • 通過@Bean將 dataSource()方法聲明爲一個註冊Bean的方法,Spring會自動調用該方法,將方法的返回值加入Spring容器中。
    然後我們就可以在任意位置通過@Autowired注入DataSource了!
    在這裏插入圖片描述

二、.SpringBoot的屬性注入

java配置方式通過屬性注入使用的是@Value註解。這種方式雖然可行,但是它只能注入基本類型值。而在SpringBoot中,提供了一種新的屬性注入方式,支持各種java基本數據類型及複雜類型的注入。
1.新建一個類
在這裏插入圖片描述
在這裏插入圖片描述
解讀:
在類上通過@ConfigurationProperties註解聲明當前類爲屬性讀取類
prefix="jdbc"讀取屬性文件中,前綴爲jdbc的值。
在類上定義各個屬性,名稱必須與屬性文件中jdbc.後面部分一致
需要注意的是,這裏我們並沒有指定屬性文件的地址,所以我們需要把jdbc.properties裏的配置放在application.properties裏,這是SpringBoot默認讀取的屬性文件名.
2.新建JdbcConfig
在這裏插入圖片描述
解讀:
通過@EnableConfigurationProperties(JdbcProperties.class)來聲明要使用JdbcProperties這個類的對象

三、springboot推薦更簡單的優雅注入

在這裏插入圖片描述
解讀
我們直接把@ConfigurationProperties(prefix = “jdbc”)聲明在需要使用的@Bean的方法上,然後SpringBoot就會自動調用這個Bean(此處是DataSource)的set方法,然後完成注入。使用的前提是:該類必須有對應屬性的set方法! 就是講解二中的JdbcProperties類

四、整合連接池
在剛纔引入jdbc啓動器的時候,SpringBoot已經自動幫我們引入了一個連接池:HikariCP,應該是目前速度最快的連接池了
因此,我們只需要指定連接池參數即可:

# 連接四大參數
spring.datasource.url=jdbc:mysql://localhost:3306/test
spring.datasource.username=root
spring.datasource.password=123
# 可省略,SpringBoot自動推斷
spring.datasource.driverClassName=com.mysql.jdbc.Driver

spring.datasource.hikari.idle-timeout=60000
spring.datasource.hikari.maximum-pool-size=30
spring.datasource.hikari.minimum-idle=10

如果你更喜歡Druid連接池,也可以使用Druid官方提供的啓動器:

<!-- Druid連接池 -->
<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>druid-spring-boot-starter</artifactId>
    <version>1.1.6</version>
</dependency>

而連接信息的配置與上面是類似的,只不過在連接池特有屬性上,方式略有不同:

#初始化連接數
spring.datasource.druid.initial-size=1
#最小空閒連接
spring.datasource.druid.min-idle=1
#最大活動連接
spring.datasource.druid.max-active=20
#獲取連接時測試是否可用
spring.datasource.druid.test-on-borrow=true
#監控頁面啓動
spring.datasource.druid.stat-view-servlet.allow=true
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章