SpringBoot_数据访问-整合Druid&配置数据源监控

第一步,在pom.xml文件中导入druid的文件信息
    <!-- https://mvnrepository.com/artifact/com.alibaba/druid -->
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid</artifactId>
            <version>1.1.8</version>
        </dependency>
第二部,在application.yml配置文件中添加数据源信息
spring:
  datasource:
    username: root
    password: root
    url: jdbc:mysql://localhost:3306/test
    driver-class-name: com.mysql.jdbc.Driver
    type: com.alibaba.druid.pool.DruidDataSource
#   schema:
#     - classpath:oa_course.sql 数据库要执行的脚本
#   数据源其他配置
    initialSize: 5
    minIdle: 5
    maxActive: 20
    maxWait: 60000
    timeBetweenEvictionRunsMillis: 60000
    minEvictableIdleTimeMillis: 300000
    validationQuery: SELECT 1 FROM DUAL
    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
正常druid的一些配置信息是不能使用的需要我们手动写一个配置类:
package com.baoxing.springboot.config;

import com.alibaba.druid.pool.DruidDataSource;
import com.alibaba.druid.support.http.StatViewFilter;
import com.alibaba.druid.support.http.StatViewServlet;
import com.alibaba.druid.support.http.WebStatFilter;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.boot.web.servlet.FilterRegistrationBean;
import org.springframework.boot.web.servlet.ServletListenerRegistrationBean;
import org.springframework.boot.web.servlet.ServletRegistrationBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

import javax.sql.DataSource;
import java.util.Arrays;
import java.util.HashMap;
import java.util.Map;

/**
 * Created by chengbx on 2018/6/10.
 */
@Configuration
public class DruidConfig {

    @ConfigurationProperties(prefix = "spring.datasource")
    @Bean(name = "dataSource")
    public DataSource druid(){
        return  new DruidDataSource();
    }
    //配置Druid的监控
    //1.配置一个管理后台的Servlet
    @Bean
    public ServletRegistrationBean statViewServlet(){
        ServletRegistrationBean servletRegistrationBean = new ServletRegistrationBean(new StatViewServlet(), "/druid/*");
        Map<String,String> initParas = new HashMap<>();
        initParas.put("loginUsername","cbx");//后台登录用户
        initParas.put("loginPassword","aaa147");//后台登录密码
        initParas.put("allow","");//默认允许所有访问
        servletRegistrationBean.setInitParameters(initParas);
        return servletRegistrationBean;
    }

    //2.配置一个监控的filter
    @Bean
    public FilterRegistrationBean webstatFilter(){
        FilterRegistrationBean filterRegistrationBean = new FilterRegistrationBean();
        filterRegistrationBean.setFilter(new WebStatFilter());
        Map<String,String> initParas = new HashMap<>();
        initParas.put("exclusions","*.js,*.css,/druid/*");//哪些文件不进行过滤

        filterRegistrationBean.setInitParameters(initParas);
        filterRegistrationBean.setUrlPatterns(Arrays.asList("/*"));
        return filterRegistrationBean;
    }
}
手动写一个测试类,调用数据库测试

package com.baoxing.springboot.controller;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.ResponseBody;

import java.util.List;
import java.util.Map;

/**
 * Created by chengbx on 2018/6/10.
 */
@Controller
public class HelloController {

    @Autowired
    private JdbcTemplate jdbcTemplate;

    @ResponseBody
    @GetMapping("/query")
    public List<Map<String,Object>> map(){
        List<Map<String,Object>> list = jdbcTemplate.queryForList("select * from oa_course");

        return list;
    }

}
出现如下界面则说明数据源配置成功

原文地址:https://www.cnblogs.com/cbxBlog/p/9241188.html

时间: 2024-10-04 12:53:26

SpringBoot_数据访问-整合Druid&配置数据源监控的相关文章

Spring Boot 整合 Druid &amp;&amp; 配置数据源监控

1. 导入 Druid 包 <dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> <version>1.1.12</version> </dependency> 2. application 配置文件配置 druid 数据源 spring: datasource: username: root password: r

SpringBoot系列之集成Druid配置数据源监控

继上一篇博客SpringBoot系列之JDBC数据访问之后,本博客再介绍数据库连接池框架Druid的使用 实验环境准备: Maven IntelliJ IDEA 先新建一个Springboot Initializer项目,详情参考SpringBoot系列之快速创建Initializer项目,注意引入必须的JDBC,web依赖等等,因为Druid默认没提供,所以去https://mvnrepository.com/artifact/com.alibaba/druid获取配置信息,项目创建之后,po

SpringBoot_数据访问-整合MyBatis-配置版MyBatis

1.添加配置文件 mybatis-config.xml <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"> <configuration>

springboot_数据访问之mybatis整合

一:引言: 大部分系统都涉及到数据访问,数据库包SQL(关系型数据库)和NOSQL(非关系型数据库),SQL包括:sqlserver,Oracle,Mysql:NOSQL包括:MongoDB和redis. 二:spring boot与jdbc整合 1.1   首先添加依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jdbc&

springboot之整合druid并配置数据源监控

pom.xml <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4

Spring Boot框架 - 数据访问 - 整合Mybatis

一.新建Spring Boot项目 注意:创建的时候勾选Mybatis依赖,pom文件如下 <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>2.1.1</version> </dependency> 二.配置文件applica

SSM项目下Druid连接池的配置及数据源监控的使用

一,连接池的配置 在pom.xml中添加,druid的maven信息 <dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> <version>1.1.21</version> </dependency> 数据源设置: 要在init-method设置init方法,才能在监控页面中查看数据源等操作 <!--使用dr

SpringBoot入门之基于Druid配置Mybatis多数据源

上一篇了解了Druid进行配置连接池的监控和慢sql处理,这篇了解下使用基于基于Druid配置Mybatis多数据源.SpringBoot默认配置数据库连接信息时只需设置url等属性信息就可以了,SpringBoot就会基于约定根据配置信息实例化对象,但是一般大型的项目都是有多个子系统或者多个数据源组成,那怎么使用SpringBoot进行Mybatis多数据源配置呢? 一.数据库准备 我们这里准备使用主从两个数据库来进行演示多数据源配置.一个主库用来写write,一个从库用来读read.至于两个

KB: Operations Manager为什么刚装好就显示数据访问服务SPN未注册

对于我这种强迫症患者,服务账号能用域账号就不用本地的.微软最佳实践也是这么建议的,于是我在安装SCOM的时候就是按照下面这样来规划账户的. 用户名 用途 权限级别 类型 隶属于 acertwp\svcomda OM数据访问服务和配置服务帐户 低权域用户 用户 SQL本地管理员SCOM本地管理员 acertwp\svcomw OM数据仓库写入账户 低权域用户 用户 SQL本地管理员SCOM本地管理员 acertwp\svcomr OM报表查询账户 低权域用户 用户 SQL本地管理员SCOM本地管理