SpringBoot集成Druid的最简单的小示例

原创
2018/06/24 08:34
阅读数 445

参考网页

https://blog.csdn.net/king_is_everyone/article/details/53098350

建立maven工程

Pom文件

<?xml version="1.0" encoding="UTF-8"?>

    <project xmlns="http://maven.apache.org/POM/4.0.0"

             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

             xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">

        <parent>

            <groupId>org.springframework.boot</groupId>

            <artifactId>spring-boot-starter-parent</artifactId>

            <version>1.4.1.RELEASE</version>

        </parent>

        <modelVersion>4.0.0</modelVersion>

 

        <artifactId>springboot-6</artifactId>

        <dependencies>

            <dependency>

                <groupId>org.springframework.boot</groupId>

                <artifactId>spring-boot-starter</artifactId>

            </dependency>

            <dependency>

                <groupId>org.springframework.boot</groupId>

                <artifactId>spring-boot-starter-web</artifactId>

            </dependency>

            <dependency>

                <groupId>org.springframework.boot</groupId>

                <artifactId>spring-boot-starter-test</artifactId>

                <scope>test</scope>

            </dependency>

            <dependency>

                <groupId>org.springframework.boot</groupId>

                <artifactId>spring-boot-starter-jdbc</artifactId>

            </dependency>

            <dependency>

                <groupId>mysql</groupId>

                <artifactId>mysql-connector-java</artifactId>

                <version>5.1.39</version>

            </dependency>

            <dependency>

                <groupId>com.alibaba</groupId>

                <artifactId>druid</artifactId>

                <version>1.0.26</version>

            </dependency>

        </dependencies>

        <build>

            <plugins>

                <plugin>

                    <groupId>org.springframework.boot</groupId>

                    <artifactId>spring-boot-maven-plugin</artifactId>

                    <version>1.4.1.RELEASE</version>

                    <configuration>

                        <fork>true</fork>

                    </configuration>

                </plugin>

            </plugins>

        </build>

 

    </project>

主启动类

package com.richfit.ruiche.DruidExample;

 

import java.sql.SQLException;

import java.util.HashMap;

import java.util.Map;

 

import javax.sql.DataSource;

 

import org.springframework.boot.SpringApplication;

import org.springframework.boot.autoconfigure.SpringBootApplication;

import org.springframework.boot.web.servlet.FilterRegistrationBean;

import org.springframework.boot.web.servlet.ServletRegistrationBean;

import org.springframework.context.annotation.Bean;

 

import com.alibaba.druid.pool.DruidDataSource;

import com.alibaba.druid.support.http.StatViewServlet;

import com.alibaba.druid.support.http.WebStatFilter;

 

@SpringBootApplication

public class DruidExampleApp {

public static void main(String[] args) throws Exception {

        SpringApplication.run(DruidExampleApp.class, args);

    }

 

    /**

     * 注册DruidServlet

     *

     * @return

     */

    @Bean

    public ServletRegistrationBean druidServletRegistrationBean() {

        ServletRegistrationBean servletRegistrationBean = new ServletRegistrationBean();

        servletRegistrationBean.setServlet(new StatViewServlet());

        servletRegistrationBean.addUrlMappings("/druid/*");

        

        Map<String,String> params = new HashMap<String,String>();

        //账号密码,是否允许重置数据

        params.put("loginUsername","admin");

        params.put("loginPassword","admin");

        params.put("resetEnable","true");

        servletRegistrationBean.setInitParameters(params);

        

        return servletRegistrationBean;

    }

 

    /**

     * 注册DruidFilter拦截

     *

     * @return

     */

    @Bean

    public FilterRegistrationBean duridFilterRegistrationBean() {

        FilterRegistrationBean filterRegistrationBean = new FilterRegistrationBean();

        filterRegistrationBean.setFilter(new WebStatFilter());

        Map<String, String> initParams = new HashMap<String, String>();

        //设置忽略请求

        initParams.put("exclusions", "*.js,*.gif,*.jpg,*.bmp,*.png,*.css,*.ico,/druid/*");

        filterRegistrationBean.setInitParameters(initParams);

        filterRegistrationBean.addUrlPatterns("/*");

        return filterRegistrationBean;

    }

 

    /**

     * 配置DataSource

     * @return

     * @throws SQLException

     */

    @Bean

    public DataSource druidDataSource() throws SQLException {

        DruidDataSource druidDataSource = new DruidDataSource();

        druidDataSource.setUsername("root");

        druidDataSource.setPassword("root");

        druidDataSource.setUrl("jdbc:mysql://localhost:3306/springbootdb_master");

        druidDataSource.setMaxActive(100);

        druidDataSource.setFilters("stat,wall");

        druidDataSource.setInitialSize(10);

        return druidDataSource;

    }

}

运行主启动类并测试

http://localhost:8080/druid/login.html

登录后

SpringBoot集成Druid的关键要点--以下3点在主启动类中都有所体现

注册DruidServlet

注册DruidFilter拦截

配置DataSource

展开阅读全文
加载中
点击引领话题📣 发布并加入讨论🔥
打赏
0 评论
6 收藏
0
分享
返回顶部
顶部