首先在pom引入依赖
选个使用次数比较多的
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.1.10</version>
</dependency>
新建一个配置类
package cn.junhui.springboot.config; //注意自己包的位置 import com.alibaba.druid.pool.DruidDataSource; import com.alibaba.druid.support.http.StatViewServlet; import com.alibaba.druid.support.http.WebStatFilter; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.boot.web.servlet.FilterRegistrationBean; import org.springframework.boot.web.servlet.ServletRegistrationBean; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import javax.sql.DataSource; import java.util.Arrays; import java.util.HashMap; import java.util.Map; /** * * 自定义数据源配置 */ @Configuration public class DruidConfig { @ConfigurationProperties(prefix = "spring.datasource") @Bean public DataSource druid() { return new DruidDataSource(); } /* 配置Druid的监控 1.配置一个管理后台的Servlet */ @Bean public ServletRegistrationBean statViewServlet() { //设置 登录路径 ServletRegistrationBean bean = new ServletRegistrationBean(new StatViewServlet(), "/druid/*"); Map<String, String> initParams = new HashMap<>(); initParams.put("loginUsername", "root"); //设置登录 账号 密码 initParams.put("loginPassword", "root"); initParams.put("allow", "");//允许谁登录 initParams.put("deny", "");//拒绝谁登录 bean.setInitParameters(initParams); return bean; } /* 配置一个web监控的filter */ @Bean public FilterRegistrationBean webStatFilter() { FilterRegistrationBean bean = new FilterRegistrationBean(); bean.setFilter(new WebStatFilter()); Map<String, String> initParms = new HashMap<>(); //不拦截静态资源 initParms.put("excluisions", "*.js,*.css,/druid/*"); bean.setUrlPatterns(Arrays.asList("/*"));//拦截所有请求 return bean; } } |
配置全局配置文件
我用的是application.yml
spring: # mysql数据库连接信息 datasource: username: root password: root driver-class-name: com.mysql.jdbc.Driver url: jdbc:mysql://localhost:3306/cre type: com.alibaba.druid.pool.DruidDataSource # druid 数据源其他配置 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,log4j maxPoolPreparedStatementPerConnectionSize: 20 useGlobalDataSourceStat: true connectionProperties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=500 |
启动项目
输入自己的账号密码 就能登录了
但是在启动项目的时候会出现下面这个 问题
*************************** Description: Failed to bind properties under 'spring.datasource' to javax.sql.DataSource: Property: spring.datasource.filters |
缺少一个Logger的依赖
再向pom加入依赖就好了
<dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.17</version> </dependency> |