SpringBoot配置Druid数据库连接池

                       SpringBoot配置Druid数据库连接池

1.首先导入Druid的开发依赖

<dependency>

    <groupId>com.alibaba</groupId>

    <artifactId>druid</artifactId>

    <version>1.1.10</version>

</dependency>

2.在springboot的配置文件中application中书写配置文件指定数据库连接池的类型为Druid。配置文件如下:

spring:

  datasource:

    username: root

    password: root

    url: jdbc:mysql://10.6.252.47:3306/jdbc

    driver-class-name: com.mysql.jdbc.Driver

    type: com.alibaba.druid.pool.DruidDataSource

主要是type的参数;

3.由于Druid有一下参数可以配置,接下里我们要将配置参数设置到Druid的数据库连接池中。

1). 创建一个配置文件;将容器中注入一个DruidDataSource的一个数据源并读取前缀为spring.datasource的配置文件中的内容代码如下:

@Configuration

public class DruidConfig {

 

    @ConfigurationProperties(prefix = "spring.datasource")

    @Bean

    public DataSource druid() {

        return new DruidDataSource();

    }

}

2). 在配置文件中书写对应Druid的参数配置:

spring:

  datasource:

    username: root

    password: root

    url: jdbc:mysql://10.6.252.47:3306/jdbc

    driver-class-name: com.mysql.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,去掉后监控界面sql无法统计,'wall'用于防火墙

    filters: stat,wall

    maxPoolPreparedStatementPerConnectionSize: 20

    useGlobalDataSourceStat: true

    connectionProperties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=500

这样数据库连接池中的参数就设置完成了。

配置Durid的监控:

1. 配置一个管理后台的Servlet,SpringBoot配置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");

        bean.setInitParameters(initParams);

        return bean;

    }

2.配置一个监控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:8080/druid请求到达登录页面,通过Servlet中设置的用户名和密码登录到监控界面

SpringBoot配置Druid数据库连接池