springboot整合druid连接池的步骤

软件发布|下载排行|最新软件

当前位置:首页IT学院IT技术

springboot整合druid连接池的步骤

熬夜秃头选拨赛冠军   2020-11-28 我要评论

使用springboot默认的连接池

导入springboot data-jdbc依赖

    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-data-jdbc</artifactId>
    </dependency>

配置文件配置连接池

spring:
 datasource:
  username: root
  password: 5201314
  url: jdbc:mysql:///jqmb?serverTimezone=UTC
  driver-class-name: com.mysql.cj.jdbc.Driver

springboot默认的连接池

@Autowired
   DataSource dataSource;
  @Test
  void contextLoads() {
    System.out.println(dataSource.getClass());
    System.out.println("____________________________________");
  }

使用连接池druid

导入druid依赖

<dependency>
      <groupId>com.alibaba</groupId>
      <artifactId>druid</artifactId>
      <version>1.0.18</version>
    </dependency>

配置文件配置druid的属性

spring:
 datasource:
  username: root
  password: 5201314
  url: jdbc:mysql:///jqmb?serverTimezone=UTC
  driver-class-name: com.mysql.cj.jdbc.Driver
  type: com.alibaba.druid.pool.DruidDataSource
  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,wall,log4j
  maxPoolPreparedStatementPerConnectionSize: 20
  useGlobalDataSourceStat: true
  connectionProperties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=500

配置类中对druid属性进行绑定

@Configuration
public class DataSource_Druid_Configure {

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

配置Druid的监控后台

//配置Druid的监控
  //1、配置一个管理后台的Servlet
  @Bean
  public ServletRegistrationBean statViewServlet(){
    ServletRegistrationBean bean = new ServletRegistrationBean(new StatViewServlet(), "/druid/*");
    Map<String,String> 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;
  }


  //2、配置一个web监控的filter
  @Bean
  public FilterRegistrationBean webStatFilter(){
    FilterRegistrationBean bean = new FilterRegistrationBean();
    bean.setFilter(new WebStatFilter());
    Map<String,String> initParams = new HashMap<>();
    initParams.put("exclusions","*.js,*.css,/druid/*");
    bean.setInitParameters(initParams);
    bean.setUrlPatterns(Arrays.asList("/*"));

    return bean;
  }

访问http://localhost:8090/druid/login.html

如果sql监控失效需要导入log4j 依赖

  <dependency>
      <groupId>log4j</groupId>
      <artifactId>log4j</artifactId>
      <version>1.2.17</version>
    </dependency>

Copyright 2022 版权所有 软件发布 访问手机版

声明:所有软件和文章来自软件开发商或者作者 如有异议 请与本站联系 联系我们