博客
关于我
springboot2.1.1开启druid数据库连接池并开启监控
阅读量:572 次
发布时间:2019-03-11

本文共 3414 字,大约阅读时间需要 11 分钟。

Spring Boot + Druid 配置与使用指南

使用Spring Boot 2.1.1版本搭建基于Druid的连接池配置,记录详细步骤及应用场景。

1. Spring Boot 依赖管理

确保项目中使用Spring Boot 2.1.1版本,填写 <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.1.1.RELEASE</version> </parent>pom.xml 中。无需额外添加Spring Boot相关依赖。

2. Druid 连接池配置

在项目根目录的 pom.xml,添加Druid相关依赖:

com.alibaba
druid
1.1.9

完成后,打开 src/main/java/config/DruidConfig.java,添加以下内容:

import org.springframework.context.annotation.Configuration;import org.springframework.context.annotation.Bean;import org.springframework.boot.context.properties.ConfigurationProperties;import com.alibaba.druid.pool.DruidDataSource;import com.alibaba.druid.support.http.StatViewServlet;import com.alibaba.druid.support.http.WebStatFilter;@Configurationpublic class DruidConfig {    @Bean    @ConfigurationProperties(prefix = "spring.datasource")    public DataSource druidDataSource() {        return new DruidDataSource();    }    @Bean    public ServletRegistrationBean statViewServlet() {        ServletRegistrationBean bean = new ServletRegistrationBean(new StatViewServlet(), "/druid/*");        Map
initParams = new HashMap<>(); initParams.put("loginUsername", "admin"); initParams.put("loginPassword", "123456"); initParams.put("allow", ""); initParams.put("deny", "192.168.15.21"); bean.setInitParameters(initParams); return bean; } @Bean public FilterRegistrationBean webStatFilter() { FilterRegistrationBean bean = new FilterRegistrationBean(); bean.setFilter(new WebStatFilter()); Map
initParams = new HashMap<>(); initParams.put("exclusions", "*.js,*.css,/druid/*"); bean.setInitParameters(initParams); bean.setUrlPatterns(Arrays.asList("/*")); return bean; }}

3. 数据源配置

编辑 application.yml,添加Druid数据配置:

spring:    datasource:        url: jdbc:mysql://45.40.205.79/icode_dev?useUnicode=true&characterEncoding=UTF-8        username: xd_database        password: Woaini1234$        driver-class-name: com.mysql.cj.jdbc.Driver        type: com.alibaba.druid.pool.DruidDataSource        initialSize: 5        maxActive: 20        minIdle: 5        maxWait: 60000        timeBetweenEvictionRunsMillis: 60000        minEvictableIdleTimeMillis: 300000        validationQuery: SELECT 1 FROM DUAL        testWhileIdle: true        testOnBorrow: false        testOnReturn: false        poolPreparedStatements: true        maxPoolPreparedStatementPerConnectionSize: 20        connectionProperties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=500        useGlobalDataSourceStat: true

4. 创建测试控制器

controller 包下编写默认注解的控制器类:

@RestControllerpublic class ArticleController {    @Autowired    private HomeArticleMapper homeArticleMapper;    @GetMapping(value = "get/{id}")    public String getArticle(@PathVariable Long id) {        HomeArticle homeArticle = homeArticleMapper.selectByPrimaryKey(id);        return "123";    }}

5. 配置注解

SpringBootApplication 类中添加 @MapperScan 注解,确保 Mapper 接口被扫描到:

@SpringBootApplication mapperSCAN(true)public class Application {    public static void main(String[] args) {        SpringApplication.run(Application.class, args);    }}

启动应用后,访问 http://localhost:8080/druid/login 使用账号 admin 和密码 123456 登录,进入Druid管理页面。

在浏览器输入地址后,访问 /get/1 测试API接口,可以在Druid监控中查看详细查询日志。

转载地址:http://vkktz.baihongyu.com/

你可能感兴趣的文章
Git简单理解与使用
查看>>
爬虫-01
查看>>
echarts 基本图表开发小结
查看>>
二分查找.基于有序数组的查找方法.704
查看>>
C语言文档操作
查看>>
制作JS验证码(简易)
查看>>
Quartus Error (275028)
查看>>
sklearn :ImportError: cannot import name ‘Imputer‘
查看>>
adb通过USB或wifi连接手机
查看>>
Scrapy安装
查看>>
vue使用ecahrts词云图
查看>>
Django中使用distinct无法去除重复数据(已经解决)
查看>>
【README】回溯算法基本框架
查看>>
12、继承
查看>>
内部类
查看>>
数组中常见的算法
查看>>
泛型机制 Generic
查看>>
包装类
查看>>
JDK9-15新特性
查看>>
集合继承结构
查看>>