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项目中结合Maven构建一个支持多数据源的系统,特别是如何处理MySQL和SQLServer两种不同的数据库类型,并使用Druid作为数据源连接池。 首先,我们需要理解“多数据源”这一概念。多数据...
在`pom.xml`中添加Spring Boot和Druid的相关依赖。例如: ```xml <groupId>org.springframework.boot <artifactId>spring-boot-starter-web <groupId>com.alibaba</groupId> <artifactId>druid-spring-...
总的来说,本项目提供了一个实战示例,展示了如何在Spring Boot应用中使用Druid配置多数据源,以及如何进行数据源路由和事务管理。这对于开发者理解和掌握Spring Boot与数据库的交互具有很高的参考价值。
通过以上步骤,我们就完成了SpringBoot+Druid+多数据源的配置。在实际项目中,还可以进一步完善数据源切换策略,例如通过AOP切面来自动切换数据源,或者使用更复杂的路由规则,以满足复杂业务场景的需求。 这个`...
在本项目中,"springboot+mybatis3+druid+postgresql"的组合是一个常见的高效、轻量级的Java Web开发架构。Spring Boot简化了Spring应用程序的创建和配置,MyBatis作为持久层框架提供了灵活的SQL映射,Druid是数据库...
用户需要按照文件的指示,配置相关组件,例如设置SpringBoot的启动类、配置Druid的数据源、MyBatis的Mapper文件和XML配置、Redis的连接信息以及Logback的日志配置,然后就可以运行和测试这个平台的各个功能了。
总的来说,这个教程涵盖了Spring Boot项目搭建、Gradle配置、依赖管理、Spring Boot配置、MyBatis和Druid的使用,以及Gbase8s数据库的连接。通过这个过程,开发者可以学习到如何在实际项目中整合这些技术,实现高效...
总结起来,这个项目展示了如何利用Spring Boot和Druid实现多数据源切换,以及如何在Spring Boot中配置和使用多线程来提升数据库操作的并发性能。对于初学者,这是一个很好的学习资源,可以深入理解Spring Boot的自动...
- 配置SpringBoot的多数据源,包括主库(写库)和从库(读库),通过Druid的数据源切换功能实现读写分离。 - 配置MyBatis的Mapper文件,根据业务需求定义不同的SQL语句,同时在MyBatis的配置中指定读库和写库的数据...
通过这种方式,我们可以构建一个高性能的数据处理系统,利用SpringBoot的便利性、MyBatis的灵活性和Druid的稳定性,以及ClickHouse的高速查询能力,实现对大数据的高效管理和分析。在实际项目中,还可以根据需求添加...
总结起来,通过SpringBoot、Mybatis-Plus和Druid,我们可以方便地实现双数据源配置,使得应用能同时处理MySQL和Oracle数据库的数据。在实际开发中,要根据业务场景灵活切换数据源,确保数据操作的正确性和效率。同时...
本教程将围绕"Springboot+Mybatis+Druid多数据源配置"这一主题,详细介绍如何实现这一功能。 首先,Spring Boot简化了Spring应用的初始化和配置。在多数据源场景下,我们可以通过Spring Boot的@...
在构建企业级应用程序时,处理多个数据库和确保跨数据库操作的事务一致性是常见的需求...这个示例项目(springboot-druid-mybatis-multi)应该包含了相关的配置文件和示例代码,可以帮助开发者快速理解和实践这一方案。
Springboot 2.4.4 网上搜到的配置多个DispatcherServlet 都有坑,自己避坑写的一个demo,处理.do .htm请求,Controller分离不会出现一个Controller可以处理.do也处理.htm可自己扩展.action .json等,适合分离前台...
3. **配置Druid数据源**:使用`DruidDataSource`类作为数据源,并在配置类中通过`@Bean`注解声明。别忘了为每个数据源设置不同的名字,如`primaryDataSource`和`secondaryDataSource`。 4. **创建数据源路由`...
然后,配置`application.properties`或`application.yml`文件,设置数据源为Druid,并配置相关的Druid连接池属性,如最大连接数、最小连接数、超时时间等。接着,配置MyBatis的主配置文件,指定Mapper扫描路径。最后...
3. 创建Druid配置类:自定义一个配置类,配置Druid的数据源,并启用Druid的web监控。 4. 配置 DruidStatFilter 和 DruidStatViewServlet:分别用于收集监控数据和展示监控页面。 接下来是WebSocket的集成。...
然后,在 `application.properties` 文件中配置 Druid 数据源,包括数据库连接信息、初始化大小、最大连接数等: ```properties spring.datasource.type=com.alibaba.druid.pool.DruidDataSource spring.datasource...
2. 配置`application.yml`或`application.properties`:设置SpringBoot的基本属性,如服务器端口、日志级别,以及数据库连接池的相关配置(Druid的配置项)。 3. 创建MyBatis的Mapper接口和XML文件:定义数据访问层...
标题 "mybatis-druid-springboot" 涉及到的是一个基于Spring Boot的应用,它整合了MyBatis和Druid数据源。这个项目的主要目的是简化数据库操作和管理,通过注解配置使得开发者能快速地集成这三个关键组件,实现...