SpringBoot整合Druid数据源过程详解
这篇文章主要介绍了SpringBoot整合Druid数据源过程详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
1.数据库结构
2.项目结构
3.pom.xml文件
org.springframework.boot spring-boot-starter-jdbc mysql mysql-connector-java runtime com.alibaba druid 1.1.8 log4j log4j 1.2.17 org.springframework.boot spring-boot-starter-web org.springframework.boot spring-boot-starter-test test org.springframework.boot spring-boot-maven-plugin
4.application.yml配置文件
spring: datasource: username:root password:wangqing url:jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai driver-class-name:com.mysql.jdbc.Driver type:com.alibaba.druid.pool.DruidDataSource #数据源其他配置 initialSize:5 minIdle:5 maxActive:20 maxWait:60000 timeBetweenEvictionRunsMillis:60000 minEvictableIdleTimeMillis:300000 validationQuery:SELECT1FROMDUAL testWhileIdle:true testOnBorrow:false testOnReturn:false poolPreparedStatements:true #配置监控统计拦截的filters,去掉后监控界面sql无法统计,'wall'用于防火墙 filters:stat,wall,log4j maxPoolPreparedStatementPerConnectionSize:20 useGlobalDataSourceStat:true connectionProperties:druid.stat.mergeSql=true;druid.stat.slowSqlMillis=500 #合并多个DruidDataSource的监控数据 #useGlobalDataSourceStat:true mybatis: #指定全局配置文件位置 #config-location:classpath:mybatis/mybatis-config.xml #指定sql映射文件位置 mapper-locations:classpath:mapper/*.xml#如src/main/resources下的mappers文件下的TUserMapper.xml #schema: #-classpath:sql/department.sql#根据department.sql的sql语句创建表 #-classpath:sql/employee.sql
5.创建一个DruidConfig的配置类,实例化DruidDatasource
packagecom.qingfeng.config;
importcom.alibaba.druid.pool.DruidDataSource;
importcom.alibaba.druid.support.http.StatViewServlet;
importcom.alibaba.druid.support.http.WebStatFilter;
importorg.springframework.boot.context.properties.ConfigurationProperties;
importorg.springframework.boot.web.servlet.FilterRegistrationBean;
importorg.springframework.boot.web.servlet.ServletRegistrationBean;
importorg.springframework.context.annotation.Bean;
importorg.springframework.context.annotation.Configuration;
importjavax.sql.DataSource;
importjava.util.Arrays;
importjava.util.HashMap;
importjava.util.Map;
@Configuration
publicclassDruidConfig{
//指定加载appliction.yml文件里面的spring.datasource开头的
//DruidDataSource类里面的属性与appliction.yml文件里面的spring.datasource开头的对应映射
@ConfigurationProperties(prefix="spring.datasource")
@Bean
publicDataSourcedruid(){
returnnewDruidDataSource();
}
//配置Druid的监控
//1、配置一个管理后台的Servlet
@Bean
publicServletRegistrationBeanstatViewServlet(){
ServletRegistrationBeanbean=newServletRegistrationBean(newStatViewServlet(),"/druid/*");
MapinitParams=newHashMap<>();
initParams.put("loginUsername","admin");
initParams.put("loginPassword","123456");
initParams.put("allow","");//默认就是允许所有访问
initParams.put("deny","");
bean.setInitParameters(initParams);
returnbean;
}
//2、配置一个web监控的filter
@Bean
publicFilterRegistrationBeanwebStatFilter(){
FilterRegistrationBeanbean=newFilterRegistrationBean();
bean.setFilter(newWebStatFilter());
MapinitParams=newHashMap<>();
initParams.put("exclusions","*.js,*.css,/druid/*");
bean.setInitParameters(initParams);
bean.setUrlPatterns(Arrays.asList("/*"));
returnbean;
}
}
6.创建一个UserController类测试
packagecom.qingfeng.controller;
importorg.springframework.beans.factory.annotation.Autowired;
importorg.springframework.jdbc.core.JdbcTemplate;
importorg.springframework.stereotype.Controller;
importorg.springframework.web.bind.annotation.GetMapping;
importorg.springframework.web.bind.annotation.ResponseBody;
importjava.util.List;
importjava.util.Map;
@Controller
publicclassUserController{
@Autowired
JdbcTemplatejdbcTemplate;
@ResponseBody
@GetMapping("/query")
publicMapmap(){
List
7.运行项目,通过浏览器访问http://localhost:8080/query
8.我们DruidConfig类里配置的下面代码可以帮我们实现监控
//配置Druid的监控
//1、配置一个管理后台的Servlet
@Bean
publicServletRegistrationBeanstatViewServlet(){
ServletRegistrationBeanbean=newServletRegistrationBean(newStatViewServlet(),"/druid/*");
MapinitParams=newHashMap<>();
initParams.put("loginUsername","admin");
initParams.put("loginPassword","123456");
initParams.put("allow","");//默认就是允许所有访问
initParams.put("deny","");
bean.setInitParameters(initParams);
returnbean;
}
9.我们启动项目,打开网址:http://localhost:8080/druid/login.html可以通过登录,查看druid数据源状态监控
我们上面设置的是用户名:admin密码:123456
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。