druid springboot

Posted mr_raptor

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了druid springboot相关的知识,希望对你有一定的参考价值。

一、加入druid依赖

[html]  view plain  copy
  1. <!--druid -->  
  2.         <dependency>  
  3.             <groupId>com.alibaba</groupId>  
  4.             <artifactId>druid</artifactId>  
  5.             <version>1.0.27</version>  
  6.         </dependency>  
二、在application.properties配置文件中加入druid配置

[java]  view plain  copy
  1. # 初始化大小,最小,最大  
  2. spring.datasource.initialSize=5  
  3. spring.datasource.minIdle=5  
  4. spring.datasource.maxActive=20  
  5. # 配置获取连接等待超时的时间  
  6. spring.datasource.maxWait=60000  
  7. # 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒  
  8. spring.datasource.timeBetweenEvictionRunsMillis=60000  
  9. # 配置一个连接在池中最小生存的时间,单位是毫秒  
  10. spring.datasource.minEvictableIdleTimeMillis=300000  
  11. # 校验SQL,Oracle配置 spring.datasource.validationQuery=SELECT 1 FROM DUAL,如果不配validationQuery项,则下面三项配置无用  
  12. spring.datasource.validationQuery=SELECT 'x'  
  13. spring.datasource.testWhileIdle=true  
  14. spring.datasource.testOnBorrow=false  
  15. spring.datasource.testOnReturn=false  
  16. # 打开PSCache,并且指定每个连接上PSCache的大小  
  17. spring.datasource.poolPreparedStatements=true  
  18. spring.datasource.maxPoolPreparedStatementPerConnectionSize=20  
  19. # 配置监控统计拦截的filters,去掉后监控界面sql无法统计,'wall'用于防火墙  
  20. spring.datasource.filters=stat,wall,log4j  
  21. # 通过connectProperties属性来打开mergeSql功能;慢SQL记录  
  22. spring.datasource.connectionProperties=druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000  
  23. # 合并多个DruidDataSource的监控数据  
  24. spring.datasource.useGlobalDataSourceStat=true  
三、配置WebFilter

[java]  view plain  copy
  1. package com.chhliu.springboot.jpa;  
  2.   
  3. import javax.servlet.annotation.WebFilter;  
  4. import javax.servlet.annotation.WebInitParam;  
  5.   
  6. import com.alibaba.druid.support.http.WebStatFilter;  
  7.   
  8. @WebFilter(filterName="druidStatFilter",urlPatterns="/*",  
  9. initParams=  
  10.         @WebInitParam(name="exclusions",value="*.js,*.gif,*.jpg,*.bmp,*.png,*.css,*.ico,/druid/*")// 忽略资源  
  11. )  
  12. public class DruidStatFilter extends WebStatFilter   
  13.   
  14.   
四、配置WebServlet

[java]  view plain  copy
  1. package com.chhliu.springboot.jpa;  
  2.   
  3. import javax.servlet.annotation.WebInitParam;  
  4. import javax.servlet.annotation.WebServlet;  
  5.   
  6. import com.alibaba.druid.support.http.StatViewServlet;  
  7.   
  8. @WebServlet(urlPatterns = "/druid/*",  
  9. initParams=  
  10.         @WebInitParam(name="allow",value="127.0.0.1"),// IP白名单 (没有配置或者为空,则允许所有访问)  
  11.         @WebInitParam(name="deny",value="192.168.0.0"),// IP黑名单 (存在共同时,deny优先于allow)  
  12.         @WebInitParam(name="loginUsername",value="admin"),// druid监控页面登陆用户名  
  13.         @WebInitParam(name="loginPassword",value="admin"),// druid监控页面登陆密码  
  14.         @WebInitParam(name="resetEnable",value="false")// 禁用html页面上的“Reset All”功能  
  15. )  
  16. public class DruidStatViewServlet extends StatViewServlet   
  17.   
  18.     /**  
  19.      *   
  20.      */  
  21.     private static final long serialVersionUID = 1L;  
  22.   
  23.   
五、扫描Servlet

[java]  view plain  copy
  1. package com.chhliu.springboot.jpa;  
  2.   
  3. import org.springframework.boot.SpringApplication;  
  4. import org.springframework.boot.autoconfigure.SpringBootApplication;  
  5. import org.springframework.boot.web.servlet.ServletComponentScan;  
  6. import org.springframework.cloud.netflix.eureka.EnableEurekaClient;  
  7.   
  8. @SpringBootApplication  
  9. @EnableEurekaClient  
  10. @ServletComponentScan // 注意要加上@ServletComponentScan注解,否则Servlet无法生效  
  11. public class SpringbootJpaDruidApplication   
  12.   
  13.     public static void main(String[] args)   
  14.         SpringApplication.run(SpringbootJpaDruidApplication.class, args);  
  15.       
  16.   
六、启动应用程序

1、在浏览器中输入http://localhost:7602/druid/login.html登陆

2、登陆进去后,监控页面如下:

经过测试发现,无论我们怎么操作,SQL监控一直都显示不出任何的内容,当前使用的spring boot版本为1.4.x版本

七、不使用spring boot自动配置功能,手动初始化DataSource

[java]  view plain  copy
  1. package com.chhliu.springboot.jpa;  
  2.   
  3. import java.sql.SQLException;  
  4.   
  5. import javax.sql.DataSource;  
  6.   
  7. import org.springframework.beans.factory.annotation.Value;  
  8. import org.springframework.context.annotation.Bean;  
  9. SpringBoot使用Druid数据库加密链接完整方案

    SpringBoot整合Druid

    案例: 模拟登陆,获取Druid SQL监控数据

    案例: 模拟登陆,获取Druid SQL监控数据

    Springboot集成druid数据库连接池

    SpringBoot--集成Druid连接池