SpringBoot Druid整合,SpringBoot 集成Druid
================================
©Copyright 蕃薯耀 2018年4月3日
http://fanshuyao.iteye.com/
一、SpringBoot引入Druid的依赖包
<dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <scope>runtime</scope> </dependency> <dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> <version>1.1.9</version> </dependency>
二、设置配置文件application.properties
spring.datasource.url=jdbc:mysql://192.168.1.166:3306/study spring.datasource.driver-class-name=com.mysql.jdbc.Driver spring.datasource.username=root spring.datasource.password=root spring.datasource.type=com.alibaba.druid.pool.DruidDataSource #spring.datasource.schema= #数据源其他配置,需要增加Druid的配置类(不然不生效) #配置见:com.lqy.springboot.datasource.druid.DruidConfig spring.datasource.initialSize=5 spring.datasource.minIdle=5 spring.datasource.maxActive=20 spring.datasource.maxWait=60000 spring.datasource.timeBetweenEvictionRunsMillis=60000 spring.datasource.minEvictableIdleTimeMillis=300000 spring.datasource.validationQuery=SELECT 1 FROM DUAL spring.datasource.testWhileIdle=true spring.datasource.testOnBorrow=false spring.datasource.testOnReturn=false spring.datasource.poolPreparedStatements=true #配置监控统计拦截的filters,去掉后监控界面sql无法统计,'wall'用于防火墙 spring.datasource.filters=stat,wall,log4j spring.datasource.maxPoolPreparedStatementPerConnectionSize=20 spring.datasource.useGlobalDataSourceStat=true spring.datasource.connectionProperties=druid.stat.mergeSql=true;druid.stat.slowSqlMillis=500
三、增加Druid自定义配置类
为什么要增加呢?
因为SpringBoot本身提供的配置只是部分的数据库连接配置,很多Druid需要的属性配置是没有的,如:
spring.datasource.initialSize
这个属性,SpringBoot是没有的,只有Druid才有,所以需要增加相应的配置类,自动注入。
DruidConfig 类:
import java.util.Arrays; import java.util.HashMap; import java.util.Map; import javax.sql.DataSource; 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 com.alibaba.druid.pool.DruidDataSource; import com.alibaba.druid.support.http.StatViewServlet; import com.alibaba.druid.support.http.WebStatFilter; /** * 导入druid数据源,扩展相关的配置属性 * */ @Configuration public class DruidConfig { /** * 配置Druid的属性,和DataSource进行绑定,前缀设置为:spring.datasource * 不配置的话,很多初始化的属性是没有绑定的 * @return */ @Bean @ConfigurationProperties(prefix="spring.datasource") public DataSource druid() { return new DruidDataSource(); } /** * 配置druid监控 * 配置一个管理后台的servlet * 访问地址:http://localhost:8080/druid/ * @return */ @Bean public ServletRegistrationBean statViewServlet() { ServletRegistrationBean bean = new ServletRegistrationBean(new StatViewServlet(), "/druid/*"); Map<String, String> initParameters = new HashMap<String, String>(); initParameters.put("loginUsername", "admin");//属性见:com.alibaba.druid.support.http.ResourceServlet initParameters.put("loginPassword", "123456"); initParameters.put("allow", "");//默认允许所有 initParameters.put("deny", ""); bean.setInitParameters(initParameters); return bean; } /** * 配置一个web监控的filter * @return */ @Bean public FilterRegistrationBean webStatFilter() { FilterRegistrationBean filterBean = new FilterRegistrationBean(); filterBean.setFilter(new WebStatFilter()); filterBean.setUrlPatterns(Arrays.asList("/*")); Map<String, String> initParameters = new HashMap<String, String>(); initParameters.put("exclusions", "*.js,*.css,/druid/*");//属性见:com.alibaba.druid.support.http.WebStatFilter filterBean.setInitParameters(initParameters); return filterBean; } }
四、启动项目,测试数据源连接:
import java.sql.Connection; import java.sql.SQLException; import javax.sql.DataSource; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @RestController public class DataSourceController { @Autowired private DataSource dataSource; @RequestMapping("/dataSource") public String dataSource() { try { System.out.println("dataSource = "+dataSource); Connection conn = dataSource.getConnection(); System.out.println("conn = "+conn); return "success"; } catch (SQLException e) { e.printStackTrace(); } return "end."; } }
五、查看Druid的监控
浏览器打开:http://localhost:8080/druid
登录的账号密码在DruidConfig类配置有
(如果你觉得文章对你有帮助,欢迎捐赠,^_^,谢谢!)
================================
©Copyright 蕃薯耀 2018年4月3日
http://fanshuyao.iteye.com/
相关推荐
本文将详细介绍如何在Spring Boot项目中整合Druid连接池,并通过非对称加密技术加密数据库密码,从而提高系统的安全性。 #### 二、项目搭建与环境准备 ##### 2.1 新建 Maven 项目 首先,我们需要使用IDEA...
在本文中,我们将深入探讨如何将SpringBoot与Druid数据源和MyBatis集成,以连接到Gbase8s v8.7数据库。Gbase8s是一款高性能的关系型数据库管理系统,特别适合处理大规模数据。我们将使用Spring Boot 2.1.11版本,...
在本项目中,"springboot+mybatis3+druid+postgresql"的组合是一个常见的高效、轻量级的Java Web开发架构。Spring Boot简化了Spring应用程序的创建和配置,MyBatis作为持久层框架提供了灵活的SQL映射,Druid是数据库...
总结起来,整合SpringBoot与Druid数据源不仅简化了数据库连接池的配置,而且提供了强大的监控功能,有助于我们对数据库性能进行实时监控和调优。通过实践这个案例,开发者可以更深入地了解SpringBoot的自动配置机制...
与SpringBoot集成后,可以实现自动化配置和依赖注入,让数据库操作更加简洁。 项目中包含的文件如下: 1. `shop.sql`:这是数据库脚本文件,用于初始化数据库表结构和数据。在实际应用中,这一步通常是启动应用前...
**SpringBoot集成TDengine程序Demo**是一篇关于如何在SpringBoot应用中整合TDengine数据库的实战教程。SpringBoot以其简洁的配置和快速的开发能力深受Java开发者喜爱,而TDengine则是一款高性能、分布式、适用于...
本教程将详细介绍如何在Spring Boot项目中整合Druid数据源池与Mybatis,实现多数据源切换的功能,并提供一个亲测可用的解决方案。 首先,让我们了解Spring Boot、Druid和Mybatis这三大组件的基础知识: **Spring ...
在本项目中,"springboot集成gbase8s小demo"是一个使用Spring Boot框架与GBase 8s数据库集成的示例应用。Spring Boot以其快速、开箱即用的特性,已经成为Java领域微服务开发的首选框架之一。GBase 8s是南大通用数据...
如果你需要深入了解如何整合SpringBoot、Druid和WebSocket,可以查看该项目的源代码,包括`pom.xml`配置文件、`application.properties`或`application.yml`配置文件、以及相关的Java源代码。 总结来说,SpringBoot...
在SpringBoot框架中集成Druid,可以方便地管理和优化数据库连接,提升应用性能。下面将详细阐述如何进行整合,以及Druid的主要特性和优势。 首先,Druid的核心功能包括: 1. **连接池管理**:Druid提供高效的连接...
整合SpringBoot、MyBatis和Druid来操作ClickHouse,主要涉及以下步骤: 1. 添加依赖:在SpringBoot项目的pom.xml文件中,添加ClickHouse的JDBC驱动、MyBatis、Druid和SpringBoot的相应依赖。 2. 配置Druid:在...
1. **SpringBoot集成**: SpringBoot是基于Spring框架的一个轻量级开发工具,它简化了创建独立、生产级别的基于Spring的应用程序。集成Impala意味着我们可以直接在SpringBoot应用中执行SQL查询,访问存储在Impala的...
本文将详细介绍如何将Spring Boot与Druid进行整合,以及在Spring Boot 2.0环境下与MyBatis集成,帮助学习者深入理解这一技术栈。 首先,让我们从Spring Boot 2.0与Druid的整合开始。在Spring Boot项目中,我们通常...
SpringBoot集成了大量的常用功能,如嵌入式Tomcat服务器、自动配置、健康检查等,使得开发者可以快速创建生产级别的Java应用。在整合`Maven`时,我们需要在`pom.xml`中添加SpringBoot的起步依赖,并根据需求引入其他...
通过分析和学习这些代码,可以更好地理解和掌握如何在实际项目中整合这两个框架。 总之,Spring Boot和JFinal的集成能够提供一个既拥有Spring Boot自动化配置和内置服务优势,又具备JFinal简单高效数据库操作特性的...
springboot集成neo4j图数据库,使用java语言连接数据库mysql和neo4j,实现将mysql数据插入neo4j中。 实现的功能有对neo4j数据进行统计分析、关系遍历增删改查等 。并且使用d3对查询结果数据进行页面展示!
在实际应用中,`springboot-bigdata`这个项目可能包含了以下文件结构和内容: 1. `pom.xml`:项目的Maven配置文件,包含Spring Boot、MyBatis、Druid及它们的依赖。 2. `application.properties`/`application.yml`...
整合SpringBoot与MyBatis主要涉及以下步骤: 1. 添加MyBatis和MyBatis-SpringBoot-Starter依赖。 2. 配置MyBatis的主配置文件(mybatis-config.xml),并定义Mapper扫描路径。 3. 创建Mapper接口和对应的Mapper XML...
总结来说,SpringBoot整合Mybatis、Druid和PageHelper可以创建一个高性能、易维护的后端系统。通过Druid,我们能够监控数据库性能,优化连接池配置;使用PageHelper可以简化分页查询的实现;而多数据源的支持则增强...