spring boot 系列學習記錄:http://www.cnblogs.com/jinxiaohang/p/8111057.html
碼雲源碼地址:https://gitee.com/jinxiaohang/springboot
DBCP(DataBase connection pool),數據庫連接池。是 apache 上的一個 java 連接池項目,也是 tomcat 使用的連接池組件。單獨使用dbcp需要2個包:commons-dbcp.jar,commons-pool.jar由於建立數據庫連接是一個非常耗時耗資源的行為,所以通過連接池預先同數據庫建立一些連接,放在內存中,應用程序需要建立數據庫連接時直接到連接池中申請一個就行,用完后再放回去。
本次練習在之前整合Spring Data JPA基礎上進行。
一、引入依賴

<dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-dbcp2</artifactId> </dependency>
二、添加配置文件(application.properties)

# 數據源配置
spring.datasource.url=jdbc:mysql://localhost:3306/test
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.username=root
spring.datasource.password=root
#連接池配置
spring.datasource.type=org.apache.commons.dbcp2.BasicDataSource
#初始化連接:連接池啟動時創建的初始化連接數量
spring.datasource.dbcp2.initial-size=50
#最大活動連接:連接池在同一時間能夠分配的最大活動連接的數量, 如果設置為非正數則表示不限制
spring.datasource.dbcp2.max-active=250
#最大空閑連接:連接池中容許保持空閑狀態的最大連接數量,超過的空閑連接將被釋放,如果設置為負數表示不限制
spring.datasource.dbcp2.max-idle=50
#最小空閑連接:連接池中容許保持空閑狀態的最小連接數量,低於這個數量將創建新的連接,如果設置為0則不創建
spring.datasource.dbcp2.min-idle=5
#最大等待時間:當沒有可用連接時,連接池等待連接被歸還的最大時間(以毫秒計數),超過時間則拋出異常,如果設置為-1表示無限等待
spring.datasource.dbcp2.max-wait-millis=10000
#SQL查詢,用來驗證從連接池取出的連接,在將連接返回給調用者之前.如果指定,則查詢必須是一個SQL SELECT並且必須返回至少一行記錄
spring.datasource.dbcp2.validation-query=SELECT 1
#當建立新連接時被發送給JDBC驅動的連接參數,格式必須是 [propertyName=property;]。注意:參數user/password將被明確傳遞,所以不需要包括在這里。
spring.datasource.dbcp2.connection-properties=characterEncoding=utf8
# JPA配置
spring.jpa.hibernate.ddl-auto=update
#spring.jpa.show-sql用來設置hibernate操作的時候在控制台顯示其真實的sql語句。
spring.jpa.show-sql=true
#讓控制器輸出的json字符串格式更美觀。
spring.jackson.serialization.indent-output=true
三、添加測試類

import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.autoconfigure.jdbc.DataSourceProperties; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.context.ApplicationContext; import org.springframework.test.context.junit4.SpringRunner; import javax.sql.DataSource; @RunWith(SpringRunner.class) @SpringBootTest public class DataSourceTest { @Autowired ApplicationContext applicationContext; @Autowired DataSourceProperties dataSourceProperties; @Test public void testDataSource() throws Exception { // 獲取配置的數據源 DataSource dataSource = applicationContext.getBean(DataSource.class); // 查看配置數據源信息 System.out.println(dataSource); System.out.println(dataSource.getClass().getName()); System.out.println(dataSourceProperties); } }
四、啟動測試
啟動測試類:整合成功。
啟動demo,訪問接口是否正常:數據正常顯示,sql語句正常打印,整合成功。