spring boot配置druid(德鲁伊)
来源:互联网 发布:mysql qq字段 编辑:程序博客网 时间:2024/04/28 15:53
spring boot配置druid(德鲁伊)
关于druid的介绍请看 阿里巴巴温少访谈
1.引入相关依赖,全部依赖是上一篇spring boot+mybatis依赖的基础上,再加上下边的依赖,如下:
<!-- Druid数据库连接池组件 --><dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> <version>1.0.18</version></dependency>
2.在spring boot项目里的配置文件application.properties
文件中加入如下内容:
##数据库连接信息spring.datasource.url=jdbc:oracle:thin:@//127.0.0.1:1521/orclspring.datasource.username=nqsdspring.datasource.password=nqsdspring.datasource.driver-class-name=oracle.jdbc.driver.OracleDriver###################以下为druid增加的配置###########################spring.datasource.type=com.alibaba.druid.pool.DruidDataSource# 下面为连接池的补充设置,应用到上面所有数据源中# 初始化大小,最小,最大spring.datasource.initialSize=5spring.datasource.minIdle=5spring.datasource.maxActive=20# 配置获取连接等待超时的时间spring.datasource.maxWait=60000# 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒spring.datasource.timeBetweenEvictionRunsMillis=60000# 配置一个连接在池中最小生存的时间,单位是毫秒spring.datasource.minEvictableIdleTimeMillis=300000spring.datasource.validationQuery=SELECT 1 FROM DUALspring.datasource.testWhileIdle=truespring.datasource.testOnBorrow=falsespring.datasource.testOnReturn=false# 打开PSCache,并且指定每个连接上PSCache的大小spring.datasource.poolPreparedStatements=truespring.datasource.maxPoolPreparedStatementPerConnectionSize=20# 配置监控统计拦截的filters,去掉后监控界面sql无法统计,'wall'用于防火墙spring.datasource.filters=stat,wall,log4j# 通过connectProperties属性来打开mergeSql功能;慢SQL记录spring.datasource.connectionProperties=druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000# 合并多个DruidDataSource的监控数据#spring.datasource.useGlobalDataSourceStat=true###############以上为配置druid添加的配置########################################
druid本身就是为了扩展jdbc的功能,而dataSource对象就是jdbc的配置,所以,上边多加的那些dataSource配置,也能理解,具体是什么功能我没有一一看过。
3.还需要添加3个配置类,如下:
package microservice.qssj.config;import javax.sql.DataSource;import org.springframework.boot.context.properties.ConfigurationProperties;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import com.alibaba.druid.pool.DruidDataSource;/** * 配置druid需要的配置类,引入application.properties文件中以spring.datasource开头的信息 * 因此需要在application.properties文件中配置相关信息。 * @author Administrator * */@Configurationpublic class DruidConfig { @Bean @ConfigurationProperties(prefix = "spring.datasource") public DataSource druidDataSource() { DruidDataSource druidDataSource = new DruidDataSource(); return druidDataSource; } }
上图可以看出只是将DataSource
对象的实现类变为了DruidDataSource
对象。
下图是过滤规则的配置。
package microservice.qssj.config;import javax.servlet.annotation.WebFilter;import javax.servlet.annotation.WebInitParam;import com.alibaba.druid.support.http.WebStatFilter;/** * 配置druid过滤规则 * @author Administrator * */@WebFilter(filterName="druidWebStatFilter",urlPatterns="/*",initParams={ @WebInitParam(name="exclusions",value="*.js,*.gif,*.jpg,*.bmp,*.png,*.css,*.ico,/druid/*")// 忽略资源})public class DruidStatFilter extends WebStatFilter {}
下图是配置druid页面的登录账号密码,及黑白名单设置。
package microservice.qssj.config;import javax.servlet.annotation.WebInitParam;import javax.servlet.annotation.WebServlet;import com.alibaba.druid.support.http.StatViewServlet;/** * 配置druid页面配置 * @author Administrator * */@SuppressWarnings("serial")@WebServlet(urlPatterns = "/druid/*", initParams={ @WebInitParam(name="allow",value="192.168.1.20,127.0.0.1"),// IP白名单 (没有配置或者为空,则允许所有访问) @WebInitParam(name="deny",value="192.168.16.111"),// IP黑名单 (存在共同时,deny优先于allow) @WebInitParam(name="loginUsername",value="admin"),// 用户名 @WebInitParam(name="loginPassword",value="admin"),// 密码 @WebInitParam(name="resetEnable",value="false")// 禁用HTML页面上的“Reset All”功能 })public class DruidStatViewServlet extends StatViewServlet {}
以上三个类配置完之后,需要在启动类多添加一个注解,即@ServletComponentScan
package microservice.qssj;import org.mybatis.spring.annotation.MapperScan;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;import org.springframework.boot.web.servlet.ServletComponentScan;import org.springframework.context.annotation.ImportResource;import org.springframework.transaction.annotation.EnableTransactionManagement;/** * 权属启动类 * @author Administrator */@SpringBootApplication@ServletComponentScan //配置druid必须加的注解,如果不加,访问页面打不开,filter和servlet、listener之类的需要单独进行注册才能使用,spring boot里面提供了该注解起到注册作用@MapperScan("microservice.qssj.mapper")//必须加这个,不加报错,如果不加,也可以在每个mapper上添加@Mapper注释,//这里还要添加一个总的注解,具体忘记了public class QssjServiceApplication { public static void main(String[] args) { SpringApplication.run(QssjServiceApplication.class, args); }}
注意新添加的三个配置类位置,他们放的包结构位置比启动类低。
启动类位置: package microservice.qssj;
druid配置类位置: package microservice.qssj.config;
4.以上配置完之后,启动项目以后,可以访问druid页面了,比如我的项目端口号是30001,我的访问页面如下:(我没有配置项目名,默认spring boot页面从“/”开始)
账号密码即为配置类中配置的admin.
如果你有疑问,这个页面的来源,因为我们配置过程并没有配置index.html页面,我估计它应该在引入的druid的jar包里,具体未知我没有找过。
访问方式都是固定的/druid/index.html或者是/druid/login.html。
下一篇说spring boot +dubbo配置
- spring boot配置druid(德鲁伊)
- spring boot 配置druid数据源
- Spring Boot 配置Druid数据源
- spring-boot整合druid配置
- Spring boot 配置Druid DataSource
- Spring Boot 使用 Druid 和监控配置
- Spring Boot使用Druid和监控配置
- Spring Boot 使用 Druid 和监控配置
- Spring Boot 使用 Druid 和监控配置
- spring boot 配置druid连接池
- Spring Boot 使用 Druid 和监控配置
- Spring Boot配置druid连接池
- Spring Boot 使用 Druid 和监控配置
- Spring Boot 使用 Druid 和监控配置
- spring boot 集成druid,监控配置
- Spring Boot 使用 Druid 和监控配置
- spring boot使用Druid和监控配置
- Spring-boot + atomikos + druid分布式事务配置
- echarts 种 legend 的相关问题
- Android案例:通过简单的小案例理解有序广播的传递以及怎样将其拦截
- 量化交易必读:国内12大量化平台全解析
- 每天一个MySQL知识点(更新中)
- 无语
- spring boot配置druid(德鲁伊)
- 【中国剩余定理】POJ1006[Biorhythms]题解
- IntelliJ idea svn备注中文乱码问题的解决
- windows 命令行进入C:\Program Files目录
- windows进程间通信
- 位图行四字节对齐算法
- xml
- 计算机系统漫游
- [PPPOE]RP-PPPOE脚本分析