博客
关于我
springboot2.1.1开启druid数据库连接池并开启监控
阅读量:573 次
发布时间: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/

你可能感兴趣的文章
关于JS中的内存溢出与内存泄漏
查看>>
React 学习笔记 —— refs 属性的三种书写方式
查看>>
算法训练——字符串合并
查看>>
信息学奥赛一本通【题目索引 + 解答】
查看>>
2021-04-23
查看>>
Linux编程基础之创建两个子进程而不创建孙子进程
查看>>
hadoop 分布式文件系统的计算和高可用
查看>>
【Linux】VMware Workstation 不可恢复错误: (vcpu-0)
查看>>
VS中 fatal error LNK1123: 转换到 COFF 期间失败 的解决方法
查看>>
关于Img标签在固定宽高的容器内部以图片比例缩放存在
查看>>
pyhton---异常处理的终极语法、网页访问基本读取、网页访问异常处理
查看>>
ant design pro v5去掉右边content区域的水印
查看>>
web_求和(练习)
查看>>
JavaScript——使用iterator遍历迭代map,set集合元素
查看>>
IAR调试卡顿的解决办法
查看>>
应用程序无法启动,应用程序的并行配置不正确完美解决方法
查看>>
强大的文字处理器——Nisus Writer Pro
查看>>
如何轻松适应从Windows到MacOS的过渡!Mac新手入门指南
查看>>
fcpx插件:25个假日主题专业设计
查看>>
代码绘制五角形
查看>>