springboot 整合druid
生活随笔
收集整理的這篇文章主要介紹了
springboot 整合druid
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
目錄
- 1. maven依賴
- 2. yml配置
- 3. druid配置類編寫
- 4. 后臺性能監控
https://github.com/sevenyoungairye/spring-boot-study
- druid優點:提供性能監控,配置靈活豐富
1. maven依賴
<!-- mysql驅動 springboot內置 --><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><scope>runtime</scope></dependency><!--druid 數據源--><dependency><groupId>com.alibaba</groupId><artifactId>druid</artifactId><version>1.1.21</version></dependency>2. yml配置
spring:datasource:username: rootpassword: 123456# springboot默認數據源com.zaxxer.hikari.HikariDataSource # 比druid快url: jdbc:mysql://localhost:3306/mybatis_study?serverTimezone=GMTdriver-class-name: com.mysql.cj.jdbc.Driver# 切換成druid 有性能監控...type: com.alibaba.druid.pool.DruidDataSource# 下面為連接池的補充設置,應用到上面所有數據源中# 初始化大小,最小,最大initial-size: 5min-idle: 5max-active: 20# 配置獲取連接等待超時的時間max-wait: 60000# 配置間隔多久才進行一次檢測,檢測需要關閉的空閑連接,單位是毫秒time-between-eviction-runs-millis: 60000# 配置一個連接在池中最小生存的時間,單位是毫秒min-evictable-idle-time-millis: 300000validation-query: SELECT 1 FROM DUALtest-while-idle: truetest-on-borrow: falsetest-on-return: false# 打開PSCache,并且指定每個連接上PSCache的大小pool-prepared-statements: true# 配置監控統計攔截的filters,去掉后監控界面sql無法統計,'wall'用于防火墻max-pool-prepared-statement-per-connection-size: 20filters: stat,walluse-global-data-source-stat: true# 通過connectProperties屬性來打開mergeSql功能;慢SQL記錄connect-properties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=50003. druid配置類編寫
package cn.bitqian.config;import com.alibaba.druid.pool.DruidDataSource; 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.servlet.Filter; import java.util.HashMap; import java.util.Map;/*** druid 配置類* @author echo lovely* @date 2020/10/23 22:01*/ @Configuration public class DruidConfig {@ConfigurationProperties(prefix = "spring.datasource")@Beanpublic DruidDataSource druidDataSource() {return new DruidDataSource();}// 后臺監控: web.xml ServletRegistrationBean// spring boot 內置了servlet 沒有web.xml配置文件,所以用下面的方式配置@Beanpublic ServletRegistrationBean druidServlet() {ServletRegistrationBean servletRegistrationBean = newServletRegistrationBean(new StatViewServlet(), "/druid/*");Map<String, String> initParameters = new HashMap<>();// 后臺登錄的賬號密碼// initParameters.put("jmxUsername", "admin"); // loginUsername// initParameters.put("jmxPassword", "123"); // loginPasswordinitParameters.put("loginUsername", "admin"); // loginUsernameinitParameters.put("loginPassword", "123"); // loginPassword// 允許訪問 白名單initParameters.put("allow", "127.0.0.1");// initParameters.put("deny", "168.403.432.234"); 禁止訪問黑名單servletRegistrationBean.setInitParameters(initParameters);return servletRegistrationBean;}/*** 過濾器* @return null*/@Beanpublic FilterRegistrationBean filterRegistrationBean() {FilterRegistrationBean filterRegistrationBean = new FilterRegistrationBean();// 過濾請求filterRegistrationBean.setFilter(new WebStatFilter());Map<String, String> initParameters = new HashMap<>();// 設置靜態資源放行initParameters.put("exclusions", "*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*");filterRegistrationBean.setInitParameters(initParameters);return filterRegistrationBean;}}4. 后臺性能監控
請忽略廣告…
總結
以上是生活随笔為你收集整理的springboot 整合druid的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: sybase数据库导出mysql_使用B
- 下一篇: 学习django笔记(天天生鲜)