一、DataSource已關閉的處理
在大量使用數據源時,有時會出現數據源使用後未關閉的情況,這個問題使用Spring Boot可以很容易解決。Spring Boot中的DataSource是由Tomcat中的Commons DataSource構建的。
我們可以使用初始化屬性等設置,通過指定destroyMethod來定義關閉應用程序上下文時的關閉行為。
@Bean(destroyMethod = "close")
public DataSource dataSource(){
return new DataSource();
}
二、如何創建DataSource
1、使用DruidDataSource
DruidDataSource是Alibaba提供的一個開源的數據庫連接池,相比於其他連接池,它有更多的監控特性,更好的性能。
@Configuration
public class DruidConfig {
@Bean
@ConfigurationProperties(prefix = "spring.datasource.druid")
public DataSource druidDataSource() {
return new DruidDataSource();
}
}
2、使用自定義的DataSource
Spring Boot不僅支持常規的數據源(如MySQL,PostgreSQL等),還可以自定義我們自己的數據源。只需要實現DataSource接口即可。
public class MyDataSource implements DataSource {
// 實現接口中的所有方法
// ...
}
三、DataSourceProperties的選取
1、url
指定連接到哪個數據庫。參數格式如下:
jdbc:mysql://localhost:3306/local_db
2、username和password
指定連接到數據庫需要用到的用戶名和密碼。
spring.datasource.username = root
spring.datasource.password = admin
3、driver-class-name
指定連接數據庫對應的驅動類。Spring Boot會自動根據指定的數據庫URL猜測所需的驅動器類,因此可以放心省略這個參數。
spring.datasource.driver-class-name = com.mysql.jdbc.Driver
4、其他選項
其他的一些選項還包括:initial-size,測試連接,以及連接超時等等。這些選項可以根據自己的實際需求進行設置。
spring.datasource.initial-size = 5
spring.datasource.max-active = 50
...
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/152177.html
微信掃一掃
支付寶掃一掃