springboot集成Druid

文章介绍了如何在SpringBoot项目中集成Druid数据源,包括引入依赖、配置数据源参数、测试数据源切换、设置后台监控以及访问监控页面的过程。配置中提到了DruidDataSource的属性如initialSize、minIdle等,并强调了filters和connection-properties参数的重要性。最后,文章提供了Druid后台监控的访问方式。
摘要由CSDN通过智能技术生成

Spring Boot 2.0 以上默认使用 com.zaxxer.hikari.HikariDataSource 数据源,但可以通过spring.datasource.type 指定数据源。

1、引依赖

        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid</artifactId>
            <version>1.2.13</version>
        </dependency>
        <!--log4j-->
        <dependency>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
            <version>1.2.12</version>
        </dependency>

2、配置数据源

#配置mysql数据源
spring:
 datasource:
  username: root
  password: root
  driver-class-name: com.mysql.cj.jdbc.Driver
  url: jdbc:mysql://localhost:3306/hotel_system?useCode=true
  type: com.alibaba.druid.pool.DruidDataSource
  #druid连接池的配置,springboot默认不配置
  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: stat,log4j,wall
  connection-properties: druid.stat.mergeSql=true;druid.stat.slowSqlMills=500

filters: stat,log4j,wall
connection-properties: druid.stat.mergeSql=true;druid.stat.slowSqlMills=500
注意:上述两个参数必须填写,否则数据源页面filter为空,监控不了sql。

3、测试是否切换成功

@Autowired
    private DataSource dataSource;

    @Test
    void contextLoads() throws Exception {
        System.out.println(dataSource.getClass());
    }

在这里插入图片描述

4、配置后台监控

编写配置类

温馨提示:配置类的初始化参数中的key不能乱写,固定的

@Configuration
public class DruidConfig {

    @Bean
    @ConfigurationProperties(prefix = "spring.datasource")
    public DataSource druidDataSource(){
        return new DruidDataSource();
    }

    @Bean
    public ServletRegistrationBean statViewServlet(){
        ServletRegistrationBean<StatViewServlet> bean = new ServletRegistrationBean<StatViewServlet>(new StatViewServlet(), "/druid/*");
        HashMap<String, String> initParameters = new HashMap<>();
        //后台管理界面的登录账号
        initParameters.put("loginUsername", "admin");
        //后台管理界面的登录密码
        initParameters.put("loginPassword", "123456");
        //允许谁访问,""表示所有人可以访问druid登录页面
        initParameters.put("allow", "");
        bean.setInitParameters(initParameters);
        return bean;
    }

    @Bean
    public FilterRegistrationBean webStatFilter(){
        FilterRegistrationBean<Filter> bean = new FilterRegistrationBean<>();
        bean.setFilter(new WebStatFilter());
        HashMap<String, String> initParameter = new HashMap<>();
        initParameter.put("exclusions", "*.js,*.css,*.font,*.fonts,*.images,*.map,*.sass,/druid/*");
        bean.setInitParameters(initParameter);
        return bean;
    }

}

5、访问/druid后台监控

在这里插入图片描述

账户密码在上述配置类,输入登录即可

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值