SpringBoot集成Druid配置(yaml版本配置文件)詳解
maven 配置
<!-- https://mvnrepository.com/artifact/com.alibaba/druid -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.2.3</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
<!--配置了日志log4j-->
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
application.yaml 配置
spring: datasource: username: 填自己的 url: jdbc:mysql://localhost:3306/填自己的數(shù)據(jù)庫(kù)?useUnicode=true&characterEncoding=UTF-8&useSSL=false driver-class-name: com.mysql.cj.jdbc.Driver password: "填自己的" #數(shù)字注意一定要有""包圍 eg:"123456" type: com.alibaba.druid.pool.DruidDataSource # 下面為連接池的補(bǔ)充設(shè)置,應(yīng)用到上面所有數(shù)據(jù)源中 # 初始化大小,最小,最大 initial-size: 5 min-idle: 5 max-active: 20 # 配置獲取連接等待超時(shí)的時(shí)間 max-wait: 60000 # 配置間隔多久才進(jìn)行一次檢測(cè),檢測(cè)需要關(guān)閉的空閑連接,單位是毫秒 time-between-eviction-runs-millis: 60000 # 配置一個(gè)連接在池中最小生存的時(shí)間,單位是毫秒 min-evictable-idle-time-millis: 300000 validation-query: SELECT 1 FROM DUAL test-while-idle: true test-on-borrow: false test-on-return: false # 打開(kāi)PSCache,并且指定每個(gè)連接上PSCache的大小 pool-prepared-statements: true max-pool-prepared-statement-per-connection-size: 20 # 配置監(jiān)控統(tǒng)計(jì)攔截的 Filter,去掉后監(jiān)控界面 SQL 無(wú)法統(tǒng)計(jì),wall 用于防火墻 日志 log4j filters: stat,wall,log4j #導(dǎo)入了log4j use-global-data-source-stat: true # 通過(guò)connectProperties屬性來(lái)打開(kāi)mergeSql功能;慢SQL記錄 connect-properties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000
自定義配置
自定義配置 過(guò)濾器以及后臺(tái)管理
package spring.mubei.config;
import com.alibaba.druid.pool.xa.DruidXADataSource;
import com.alibaba.druid.support.http.StatViewServlet;
import com.alibaba.druid.support.http.WebStatFilter;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.boot.web.servlet.FilterRegistrationBean;
import org.springframework.boot.web.servlet.ServletRegistrationBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import javax.sql.DataSource;
import java.util.HashMap;
/**
* @author mubei
* @date 2020/12/5
* @description druid 自定義配置
*/
@Configuration
public class DruidConfigration {
@ConfigurationProperties(prefix="spring.datasource")
@Bean
public DataSource druidDataSource(){
return new DruidXADataSource();
}
//后臺(tái)監(jiān)控:web.xml ServletRegistrationBean
//因?yàn)镾pringBoot內(nèi)置了 servlet容器 所以沒(méi)有web.xml 替代方法ServletRegistrationBean
@Bean
public ServletRegistrationBean StatViewServlet(){
ServletRegistrationBean<StatViewServlet> bean = new ServletRegistrationBean<>(new StatViewServlet(), "/druid/*");
//后臺(tái)需要有人登錄 賬號(hào)密碼配置
HashMap<String, String> initParameters = new HashMap<>();
//登錄的兩個(gè)key是固定的
initParameters.put("loginPassword","020323");
initParameters.put("loginUsername","mubei");
//允許誰(shuí)可以訪問(wèn)
//空全部人可以訪問(wèn)
initParameters.put("allow","");
//禁止某人訪問(wèn)
initParameters.put("mubei","端口");
//設(shè)置初始化參數(shù)
bean.setInitParameters(initParameters);
return bean;
}
//filter過(guò)濾器
@Bean
public FilterRegistrationBean b(){
FilterRegistrationBean bean = new FilterRegistrationBean();
bean.setFilter(new WebStatFilter());
//可以過(guò)濾哪些請(qǐng)求
HashMap<String, String> initParameters = new HashMap<>();
//不過(guò)濾
initParameters.put("exclusion","*.js,*.css,/druid/**");
bean.setInitParameters(initParameters);
return bean;
}
}
到此這篇關(guān)于SpringBoot集成Druid配置(yaml版本配置文件)的文章就介紹到這了,更多相關(guān)SpringBoot集成Druid配置內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
基于Pinpoint對(duì)SpringCloud微服務(wù)項(xiàng)目實(shí)現(xiàn)全鏈路監(jiān)控的問(wèn)題
這篇文章主要介紹了基于Pinpoint對(duì)SpringCloud微服務(wù)項(xiàng)目實(shí)現(xiàn)全鏈路監(jiān)控的問(wèn)題,本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-02-02
MyBatis-Plus如何關(guān)閉SQL日志打印詳解
在使用mybatisplus進(jìn)行開(kāi)發(fā)時(shí),日志是一個(gè)非常有用的工具,它可以幫助我們更好地了解和調(diào)試我們的代碼,這篇文章主要給大家介紹了關(guān)于MyBatis-Plus如何關(guān)閉SQL日志打印的相關(guān)資料,需要的朋友可以參考下2024-03-03
mybatis-plus分頁(yè)查詢的實(shí)現(xiàn)示例
這篇文章主要介紹了mybatis-plus分頁(yè)查詢的實(shí)現(xiàn)示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-08-08
關(guān)于JAVA11中圖片與BASE64相互轉(zhuǎn)換的實(shí)現(xiàn)
這篇文章主要介紹了關(guān)于JAVA11中圖片與BASE64相互轉(zhuǎn)換的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-04-04
SpringBoot在IDEA中實(shí)現(xiàn)熱部署的步驟
這篇文章主要介紹了SpringBoot在IDEA中實(shí)現(xiàn)熱部署的步驟,幫助大家更好的理解和使用springboot框架,感興趣的朋友可以了解下2020-11-11

