`
flashsnow
  • 浏览: 29160 次
  • 性别: Icon_minigender_1
  • 来自: 太原
社区版块
存档分类
最新评论

Springboot Druid 相关配置以及一些问题的处理

阅读更多

Druid 是阿里提供的比较专业的可视化web、DB监控工具,基于标准SpringWeb的集成方式,Druid的官网手册写的非常明晰了,本人在使用SpringBoot进行集成的时候,遇到了一些问题,并且扎到了解决方案。

1. 搭建SpringBoot的基础框架,本人这里配置了Mysql数据库、Web(这个不是本文重点)

2. 引入Druid

		<dependency>
			<groupId>com.alibaba</groupId>
			<artifactId>druid</artifactId>
			<version>1.0.29</version>
		</dependency>

 

3. 增加Servlet

@WebServlet(urlPatterns = "/druid/*",
			initParams = {
					@WebInitParam(name = "loginUsername", value = "druid"),
					@WebInitParam(name = "loginPassword", value = "druid"),
					@WebInitParam(name = "resetEnable", value = "false"),
				}
		)
public class DruidStatView extends StatViewServlet {
	private static final long serialVersionUID = 1L;
}

   这里指定了用户名和密码都是druid

 

4. 启动类增加对Servlet的扫描,@ServletComponentScan,默认情况下该注释扫描启动类所在包及其所有子包,可通过basePackages、basePackageClasses 重新指定

 

5. 增加 Filter

@WebFilter(urlPatterns = "/*",
			initParams = {
					@WebInitParam(name = "exclusions", value = "*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*"),
					
			}
		)
public class DruidWebStatFilter extends WebStatFilter{

}

 

6. 配置DB,这里使用了yml格式的配置文件

spring:
    datasource:
        type: com.alibaba.druid.pool.DruidDataSource
        url: jdbc:mysql://${mysql.host}:${mysql.port}/${mysql.name}
        username: ${mysql.username}
        password: ${mysql.password}
        filters: stat,wall,log4j

注意:type: com.alibaba.druid.pool.DruidDataSource,可以不指定driverClassName,Druid会自动匹配

 

7.  到此,Druid 的基本配置已经好了,启动应用,访问http://localhost:8080/druid 输入用户名和密码之后,可以看到相关界面了。但是这里有几个问题:

    1) 【SQL监控】没有起作用,表现是 【数据源】标签下的【* filter类名】没有信息

    2) 【Spring监控】没有内容,(这个是没有配置)

 

8. 【Spring监控】的配置

	@Bean
	public DruidStatInterceptor druidStatInterceptor() {
		return new DruidStatInterceptor();
	}

	@Bean
	public JdkRegexpMethodPointcut druidStatPointcut() {
		JdkRegexpMethodPointcut druidStatPointcut = new JdkRegexpMethodPointcut();
		String patterns = "com.lsc.learn.spring.druid.*";
		druidStatPointcut.setPatterns(patterns);
		return druidStatPointcut;
	}

	@Bean
	public Advisor druidStatAdvisor() {
		return new DefaultPointcutAdvisor(druidStatPointcut(), druidStatInterceptor());
	}

 

9. 【SQL监控】的配置(本文重点)

	@Bean
	@ConfigurationProperties(prefix = "spring.datasource")
	public DataSource druidDataSource() {
		return new DruidDataSource();
	}

即需要明确写明DataSource,具体什么原因就不清楚了,还望了解的大神讲解一下。 

 

10. 这里只讲述了如何在springboot中集成druid,其他druid的内容请参照Druid的官方手册

分享到:
评论

相关推荐

    Springboot Druid多数据源 多线程

    一个基于Springboot的小项目,采用Druid多数据源的设计,可以同时操作Mysql与Oracle数据库,配置了多线程处理任务,为刚接触springboot的朋友提供参考。

    springboot2 配置多个DispatcherServlet 处理.do .htm请求,Controller分离,集成druid和mybatis

    Springboot 2.4.4 网上搜到的配置多个DispatcherServlet 都有坑,自己避坑写的一个demo,处理.do .htm请求,Controller分离不会出现一个Controller可以处理.do也处理.htm可自己扩展.action .json等,适合分离前台...

    mybatis-druid-springboot

    通过注解配置即可自动注入扫描相关的xml和bean的路径,集成了mybatis的分页查询、事物处理、使用了druid数据源

    SpringBoot学习视频

    尚硅谷_SpringBoot_配置-properties配置文件编码问题 尚硅谷_SpringBoot_配置-@ConfigurationProperties与@Value区别 尚硅谷_SpringBoot_配置-@PropertySource、@ImportResource、@Bean 尚硅谷_SpringBoot_配置-配置...

    springboot+mysql+oracle+druid 双数据库进行数据同步

    主要是数据同步从oracle同步到mysql,数据量为好几十万,采用了流处理的方式同步进行处理,防止出现oom

    尚硅谷springboot视频(上)

    尚硅谷_SpringBoot_配置-properties配置文件编码问题 尚硅谷_SpringBoot_配置-@ConfigurationProperties与@Value区别 尚硅谷_SpringBoot_配置-@PropertySource、@ImportResource、@Bean 尚硅谷_SpringBoot_配置-配置...

    128元尚硅谷Java视频教程_SpringBoot视频教程(上)核心技术篇

    12、尚硅谷_SpringBoot_配置-properties配置文件编码问题 13、尚硅谷_SpringBoot_配置-@ConfigurationProperties与@Value区别 14、尚硅谷_SpringBoot_配置-@PropertySource、@ImportResource、@Bean 15、尚硅谷_...

    SpringBoot总结升级版

    包含SpringBoot环境搭建、常用注解、与Mybatis整合创建多数据源的连接+Druid连接池配置、SpringBoot的热部署、SpringBoot整合Freemarker/Servlet组件/文件上传与下载、SpringBoot自定义拦截器以及将拦截器注册到容器...

    springboot常用框架

    内置对象、显示对象信息、文件上传、使用文件服务器、拦截器、配置druid数据库连接池、整合MyBatis框架、事务控制、Druid监控、整合ActiveMQ、 整合RabbitMQ、整合kafka、邮件发送、定时调度、Actuator监控、 整合...

    SpringBoot2 基础教程,日志配置,数据源配置,事务管理等

    SpringBoot2 基础教程,日志配置,数据源配置,事务管理等。环境搭建和RestFul风格接口配置Log4j2,实现不同环境日志打印。配置系统全局异常映射处理。定时任务和异步任务的使用方式。多个拦截器配置和使用场景。...

    尚硅谷Spring boot核心技术篇(上)

    09、尚硅谷_SpringBoot_配置-yaml简介 10、尚硅谷_SpringBoot_配置-yaml语法 11、尚硅谷_SpringBoot_配置-yaml配置文件值获取 12、尚硅谷_SpringBoot_配置-properties配置文件编码问题 13、尚硅谷_SpringBoot_配置-@...

    SpringBoot学习总结

    包含SpringBoot环境搭建、常用注解、与Mybatis整合创建多数据源的连接+Druid连接池配置、SpringBoot的热部署、SpringBoot整合Freemarker/Servlet组件/文件上传与下载、SpringBoot自定义拦截器以及将拦截器注册到容器...

    基于SpringBoot+Druid+Mybatis+Vue+Elementui的小区物联网平台项目源码+数据.rar

    config 配置相关内容 如mqtt 配置等 constant 常量类 Controller 页面端请求控制类 dao 数据库操作层 entity 实体对象 exception 异常相关包 extApi 对外平台开放API 相关java factory 工厂类处理包 如果...

    Java SpringBoot课件+源码视频教程

    12、_SpringBoot_配置-properties配置文件编码问题 13、_SpringBoot_配置-@ConfigurationProperties与@Value区别 14、_SpringBoot_配置-@PropertySource、@ImportResource、@Bean 15、_SpringBoot_配置-配置文件...

    springboot2+mybatis多数据源配置

    相信很多朋友在开发的时候,可能会碰到需要一个项目,配置多个数据源的需求,可能是同一种数据库,也可能是不同种类的数据库,这种情况,我们就需要配置多数据源对程序的支持了。 本项目就是一个多数据源的配置,...

    基于Springboot+Mybatis+ SpringMvc+springsecrity+Redis完整网站后台管理系统

    sl4j日志分包:将sql日志、业务日志、异常日志进行了分离,更方便定位问题 日志表:使用aop拦截实现 权限控制:基于token方式,禁用session 对各种不同异常进行了全局统一处理 使用lombok简化java代码,让源码...

    Springboot+Mybatis-plus+ SpringMvc+Shiro+Redis企业级报表后台管理系统

    实现异步处理,定时任务,整合Quartz Job以及Spring Task 邮件管理功能, 整合spring-boot-starter-mail发送邮件等, 数据源:druid 用户管理,菜单管理,角色管理,代码生成 运行环境 jdk8+oracle+redis+...

    springboot-:记录实现高并发的解决方案

    1.springboot整合druid多数据源和log4j2 (1)实现数据源,主数据库(写),从数据库(读),读写分离的方案之一 (2)mysql主从复制,保持数据一致性 (3)使用druid的监控功能 (4)log4j2日志介绍和配置说明 2....

    springboot框架集成swagger2,redies,druid,paghelper+多数据源

    本框架是我搭建的一个springboot 的框架,该框架上已经集成了,swagger2,分页插件,多数据源,redies,已经对日志的统一捕获处理,及跨域访问等问题。 网站的访问地址:http://localhost:8004/swagger-ui.html 应用...

    springboot旅游网站.zip

    项目特点:使用了SpringBoot框架,简化了项目的配置和开发流程。采用了MyBatis作为持久层框架,方便地进行数据库操作。使用了Thymeleaf模板引擎,实现了动态页面渲染。采用了分页插件PageHelper,实现了分页功能。...

Global site tag (gtag.js) - Google Analytics