2020年了,授人以魚不如授人以漁,Spring Boot 引入 Druid的超簡單用法

新建一個Spring Boot項目

操作路徑如下,Spring Initializr這裏,默認的https://start.spring.io需要科學上網,建議改成自定義的,阿里提供的一個,秒出:https://start.aliyun.com

IDEA–>File–>New–>Project–>Spring Initializr–>Next–>輸入自定義Group和Artifact–>Next–>默認,啥都不要勾選–>Finish

在這裏插入圖片描述

修改pom文件

打開pom文件,找到下面這個配置,覆蓋掉

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter</artifactId>
        </dependency>

覆蓋成

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid-spring-boot-starter</artifactId>
            <version>1.1.18</version>
        </dependency>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-jdbc</artifactId>
        </dependency>

PS:其實在spring體系裏,包含starter字樣的依賴,默認其實已經包含了很多需要用到的jar包,所以不需要重複引入,比如druid,只需要引入druid-spring-boot-starter就行,建議在pom文件裏點入,可以直觀的看到

修改配置文件 application.properties

打開application.properties,覆蓋成下面這樣,這些配置可以看druid官方地址的一個測試案例,地址是:https://github.com/alibaba/druid/tree/master/druid-spring-boot-starter/src/test/resources

# 應用服務web訪問端口
server.port=8884
######Druid數據源配置,可以不添加druid配置類引入,如果添加druid配置類,注意配置前綴是spring.datasource.druid**
# 參考官方:https://github.com/alibaba/druid/tree/master/druid-spring-boot-starter ######
# 官方wiki:https://github.com/alibaba/druid/wiki #
# JDBC配置
spring.datasource.druid.url=jdbc:mysql://localhost:3306/erp?useSSL=false&useUnicode=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=Asia/Shanghai&characterEncoding=UTF-8
spring.datasource.druid.username=root
spring.datasource.druid.password=password
spring.datasource.druid.driver-class-name=com.mysql.cj.jdbc.Driver
# 連接池配置,下面配置說明請參考Druid Github Wiki,配置_DruidDataSource參考配置
spring.datasource.druid.initial-size=5
spring.datasource.druid.max-active=30
spring.datasource.druid.min-idle=5
spring.datasource.druid.max-wait=5000
spring.datasource.druid.pool-prepared-statements=true
spring.datasource.druid.max-pool-prepared-statement-per-connection-size=5
spring.datasource.druid.validation-query=select 1
spring.datasource.druid.validation-query-timeout=1
spring.datasource.druid.test-on-borrow=true
spring.datasource.druid.test-on-return=true
spring.datasource.druid.test-while-idle=true
spring.datasource.druid.time-between-eviction-runs-millis=10000
spring.datasource.druid.min-evictable-idle-time-millis=30000
#spring.datasource.druid.max-evictable-idle-time-millis=
spring.datasource.druid.async-close-connection-enable=true
spring.datasource.druid.filters=stat,wall
# 更多配置屬性見 DruidDataSource 內成員變量(只要有set方法便支持),或者根據IDE提示,或者查看官方文檔

######Druid內置監控頁面配置######
#下面配置說明請參考Druid Github Wiki,配置_配置WebStatFilter
spring.datasource.druid.web-stat-filter.enabled=true
spring.datasource.druid.web-stat-filter.url-pattern=/*
spring.datasource.druid.web-stat-filter.exclusions=*.js,*.gif,*.jpg,*.css,/druid/*
#spring.datasource.druid.web-stat-filter.session-stat-enable=
#spring.datasource.druid.web-stat-filter.session-stat-max-count=
#spring.datasource.druid.web-stat-filter.principal-session-name=
#spring.datasource.druid.web-stat-filter.principal-cookie-name=
#spring.datasource.druid.web-stat-filter.profile-enable=
#下面配置說明請參考Druid Github Wiki,配置_StatViewServlet配置
spring.datasource.druid.stat-view-servlet.enabled=true
spring.datasource.druid.stat-view-servlet.url-pattern=/druid/*
spring.datasource.druid.stat-view-servlet.reset-enable=false
spring.datasource.druid.stat-view-servlet.login-username=root
spring.datasource.druid.stat-view-servlet.login-password=password
spring.datasource.druid.stat-view-servlet.allow=127.0.0.1
spring.datasource.druid.stat-view-servlet.deny=192.168.1.110
#下面配置說明請參考Druid Github Wiki,配置_Druid和Spring關聯監控配置
#spring.datasource.druid.aop-patterns= #Spring監控AOP切入點,如x.y.z.service.*,配置多個英文逗號分隔
#如果spring.datasource.druid.aop-patterns要代理的類沒有定義interface請設置spring.aop.proxy-target-class=true

# 自定義StatFilter 配置
spring.datasource.druid.filter.stat.enabled=true
spring.datasource.druid.filter.stat.db-type=mysql
spring.datasource.druid.filter.stat.log-slow-sql=true
spring.datasource.druid.filter.stat.slow-sql-millis=2000
# 配置WallFilter
spring.datasource.druid.filter.wall.enabled=true
spring.datasource.druid.filter.wall.db-type=mysql
spring.datasource.druid.filter.wall.config.delete-allow=false
spring.datasource.druid.filter.wall.config.drop-table-allow=false

運行,看運行日誌

在這裏插入圖片描述
可以看到已經引入了

打開druid內置後臺監控頁面

地址:http://localhost:8884/druid/login.html
賬號:root
密碼:password
切換到數據源
在這裏插入圖片描述
可以看到 filter類名這一項能正常顯示,拉下去看看配置,也是配置文件裏配置的數字。

Over,enjoy!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章