SpringBoot整合Druid数据库连接池的方法
一,Druid是什么?
Druid是Java语言中最好的数据库连接池。Druid能够提供强大的监控和扩展功能。
二, 在哪里下载druid
maven中央仓库: http://central.maven.org/maven2/com/alibaba/druid/
三, 怎么获取Druid的源码
Druid是一个开源项目,源码托管在github上,源代码仓库地址是 https://github.com/alibaba/druid。同时每次Druid发布正式版本和快照的时候,都会把源码打包,你可以从上面的下载地址中找到相关版本的源码
SpringBoot整合Druid数据库连接池的方法。
项目配置
pom.xml
<dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> <version>1.1.10</version> </dependency> <!--自启动Druid管理后台--> <dependency> <groupId>com.alibaba</groupId> <artifactId>druid-spring-boot-starter</artifactId> <version>1.1.10</version> </dependency>
application.yml
server: port: 8080 spring: datasource: username: root password: root url: jdbc:mysql://localhost:3306/mybatis?useUnicode=true&characterEncoding=utf-8&useSSL=true&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 maxPoolPreparedStatementPerConnectionSize: 25 filters: stat,wall,slf4j connectionProperties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=500 useGlobalDataSourceStat: true cache: type: redis redis: host: 127.0.0.1 port: 6379 password: pool: max-active: 100 max-idle: 10 max-wait: 100000 lettuce: shutdown-timeout: 0 timeout: 5000 database: 0 thymeleaf: cache: false; mybatis: mapper-locations: classpath:zhw.example.zhw.loginModule.loginDao/*.xml
配置JdbcConfig
package zhw.example.zhw.loginModule.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.Collections; import java.util.HashMap; import java.util.Map; @Configuration public class JdbcConfig { @ConfigurationProperties(prefix = "spring.datasource") @Bean public DataSource dataSource(){ return new DruidDataSource(); } /** * 配置Druid监控 * * @return StatViewServlet */ @Bean public ServletRegistrationBean servletRegistrationBean() { ServletRegistrationBean<StatViewServlet> bean = new ServletRegistrationBean<>(new StatViewServlet(), "/druid/*"); Map<String, String> map = new HashMap<>(); //访问的用户名密码 map.put(StatViewServlet.PARAM_NAME_USERNAME, "root"); map.put(StatViewServlet.PARAM_NAME_PASSWORD, "root"); //允许访问的ip,默认是所有ip map.put(StatViewServlet.PARAM_NAME_ALLOW, ""); //禁止访问的ip map.put(StatViewServlet.PARAM_NAME_DENY, "192.168.1.1"); bean.setInitParameters(map); return bean; } /** * 配置一个监控的filter * * @return WebStatFilter */ @Bean public FilterRegistrationBean filterRegistrationBean() { FilterRegistrationBean<WebStatFilter> bean = new FilterRegistrationBean<>(); bean.setFilter(new WebStatFilter()); Map<String, String> map = new HashMap<>(); //移除这些监听 map.put(WebStatFilter.PARAM_NAME_EXCLUSIONS, "*.js,*.css,/druid/*,*.gif,*.jpg,*.png"); bean.setInitParameters(map); //拦截所有请求,全部都要走druid监听 bean.setUrlPatterns(Collections.singletonList("/*")); return bean; } }
测试配置url白名单
如果工程中配置了Apache Shiro,需要在配置类中添加白名单
监控界面
到此这篇关于SpringBoot整合Druid数据库连接池的方法的文章就介绍到这了,更多相关SpringBoot整合Druid数据库连接池内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
springboot 使用clickhouse实时大数据分析引擎(使用方式)
这篇文章主要介绍了springboot 使用clickhouse实时大数据分析引擎的方法,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧2022-02-02SpringSecurity跨域请求伪造(CSRF)的防护实现
本文主要介绍了SpringSecurity跨域请求伪造(CSRF)的防护实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2022-07-07详解Spring关于@Resource注入为null解决办法
这篇文章主要介绍了详解Spring关于@Resource注入为null解决办法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2019-05-05
最新评论