泵网站建设平乡企业做网站
news/
2025/10/6 10:37:56/
文章来源:
泵网站建设,平乡企业做网站,wordpress文章换行,dw网页设计成品免费下载文章目录 数据库操作--开启Durid 监控整合Druid 到Spring-Boot官方文档基本介绍Durid 基本使用代码实现 Durid 监控功能-SQL 监控需求:SQL 监控数据SQL 监控数据-测试页面 Durid 监控功能-Web 关联监控需求:Web 关联监控配置-Web 应用、URI 监控重启项目 Durid 监控功能-SQL 防… 文章目录 数据库操作--开启Durid 监控整合Druid 到Spring-Boot官方文档基本介绍Durid 基本使用代码实现 Durid 监控功能-SQL 监控需求:SQL 监控数据SQL 监控数据-测试页面 Durid 监控功能-Web 关联监控需求:Web 关联监控配置-Web 应用、URI 监控重启项目 Durid 监控功能-SQL 防火墙SQL 防火墙 Durid 监控功能-Session 监控Session 监控Druid Spring Boot Starter基本介绍应用实例具体实现重启项目完成测试 数据库操作–开启Durid 监控
整合Druid 到Spring-Boot
官方文档
使用手册: https://github.com/alibaba/druid 中文手册 https://github.com/alibaba/druid/wiki/%E5%B8%B8%E8%A7%81%E9%97%AE%E9%A2%98English手册 https://github.com/alibaba/druid/wiki/FAQDruid Spring Boot Starter 手册https://github.com/alibaba/druid/tree/master/druid-spring-boot-starter
基本介绍 HiKariCP: 目前市面上非常优秀的数据源, 是springboot2 默认数据源。 Druid 性能优秀Druid 提供性能卓越的连接池功能外【Java 基础】还集成了SQL 监控黑名单拦截等功能强大的监控特性通过Druid 提供的监控功能可以清楚知道连接池和SQL 的工作情况所以根据项目需要我们也要掌握Druid 和SpringBoot 整合。 整合Druid 到Spring-Boot 方式 ● 自定义方式 ● 引入starter 方式
Durid 基本使用
需求: 将Spring-Boot 的数据源切换成Druid
代码实现
1.修改pom.xml , 引入druid 依赖
!-- 引入druid 依赖--
dependencygroupIdcom.alibaba/groupIdartifactIddruid/artifactIdversion1.1.17/version
/dependency2.创建com/nlc/usersys/config/DruidDataSourceConfig.java 配置类
Configuration
public class DruidDataSourceConfig {//编写方法,注入DruidDataSource//说明为什么我们注入自己的DataSource , 默认的HiKariDatasource失效?//1. 默认的数据源是如配置? ConditionalOnMissingBean({ DataSource.class, XADataSource.class })// 解读通过ConditionalOnMissingBean({ DataSource.class}) 判断如果容器有DataSource Bean 就不注入默认的HiKariDatasource//2. debug源码.ConfigurationProperties(spring.datasource)Beanpublic DataSource dataSource() throws SQLException {//1. 配置了 ConfigurationProperties(spring.datasource)// 就可以读取到application.yml的配置//2. 我们就不需要调用DruidDataSource 对象的setXxx, 会自动关联DruidDataSource druidDataSource new DruidDataSource();
// druidDataSource.setUrl(jdbc:mysql://localhost:3306/furn_ssm?useSSLtrueuseUnicodetruecharacterEncodingUTF-8);
// druidDataSource.setUsername(root);
// druidDataSource.setPassword(123456);return druidDataSource;}
}完成测试运行ApplicationTests.java , 观察数据源的运行类型 Durid 监控功能-SQL 监控
需求:
配置Druid 的监控功能包括SQL 监控、SQL 防火墙、Web 应用、Session 监控等
SQL 监控数据
修改com/nlc/usersys/config/DruidDataSourceConfig.java , 增加druid 监控功能 地址:https://github.com/alibaba/druid/wiki/%E9%85%8D%E7%BD%AE_StatViewServlet%E9%85%8D%E7%BD%AE Configuration
public class DruidDataSourceConfig {//编写方法,注入DruidDataSource//说明为什么我们注入自己的DataSource , 默认的HiKariDatasource失效?//1. 默认的数据源是如配置? ConditionalOnMissingBean({ DataSource.class, XADataSource.class })// 解读通过ConditionalOnMissingBean({ DataSource.class}) 判断如果容器有DataSource Bean 就不注入默认的HiKariDatasource//2. debug源码.ConfigurationProperties(spring.datasource)Beanpublic DataSource dataSource() throws SQLException {//1. 配置了 ConfigurationProperties(spring.datasource)// 就可以读取到application.yml的配置//2. 我们就不需要调用DruidDataSource 对象的setXxx, 会自动关联DruidDataSource druidDataSource new DruidDataSource();
// druidDataSource.setUrl(jdbc:mysql://localhost:3306/furn_ssm?useSSLtrueuseUnicodetruecharacterEncodingUTF-8);
// druidDataSource.setUsername(root);
// druidDataSource.setPassword(123456);return druidDataSource;}//配置druid的监控页功能Beanpublic ServletRegistrationBean statViewServlet() {//创建StatViewServletStatViewServlet statViewServlet new StatViewServlet();ServletRegistrationBeanStatViewServlet registrationBean new ServletRegistrationBean(statViewServlet, /druid/*);//设置init-parameter, 设置用户名和密码registrationBean.addInitParameter(loginUsername, hhh);registrationBean.addInitParameter(loginPassword, 666666);return registrationBean;}
}完成测试: 访问http://localhost:10000/druid/index.html 不会被拦截, 如果没有问题会看到这个页面 修改com/nlc/usersys/config/DruidDataSourceConfig.java 加入监控功能 参考: https://github.com/alibaba/druid/wiki/%E9%85%8D%E7%BD%AE_StatFilter ConfigurationProperties(spring.datasource)Beanpublic DataSource dataSource() throws SQLException {//1. 配置了 ConfigurationProperties(spring.datasource)// 就可以读取到application.yml的配置//2. 我们就不需要调用DruidDataSource 对象的setXxx, 会自动关联DruidDataSource druidDataSource new DruidDataSource();
// druidDataSource.setUrl(jdbc:mysql://localhost:3306/furn_ssm?useSSLtrueuseUnicodetruecharacterEncodingUTF-8);
// druidDataSource.setUsername(root);
// druidDataSource.setPassword(123456);//加入监控功能, 加入了sql防火墙监控druidDataSource.setFilters(stat,wall);return druidDataSource;} 创建com/nlc/usersys/controller/DruidSqlController.java 模拟操作DB 的请求
Controller
public class DruidSqlController {Resourceprivate JdbcTemplate jdbcTemplate;ResponseBodyGetMapping(/sql)public ListFurn crudDB() {BeanPropertyRowMapperFurn rowMapper new BeanPropertyRowMapper(Furn.class);ListFurn furns jdbcTemplate.query(select * from furn, rowMapper);for (Furn furn : furns) {System.out.println(furn);}return furns;}}SQL 监控数据-测试页面
完成测试, 观察SQL 监控数据, 浏览器输入http://localhost:10000/druid/sql.html
各项的含义请参考druid文档 登陆后请求SQL路径 Durid 监控功能-Web 关联监控
需求:
配置Web 关联监控配置Web 应用、URI 监控
官方文档https://github.com/alibaba/druid/wiki/%E5%B8%B8%E8%A7%81%E9%97%AE%E9%A2%98 Web 关联监控配置-Web 应用、URI 监控
修改com/nlc/usersys/config/DruidDataSourceConfig.java 注入/ 增加WebStatFilter 用于采集web-jdbc 关联监控的数据 //配置WebStatFilter, 用于采集web-jdbc关联的监控数据Beanpublic FilterRegistrationBean webStatFilter() {//创建 WebStatFilterWebStatFilter webStatFilter new WebStatFilter();FilterRegistrationBeanWebStatFilter filterRegistrationBean new FilterRegistrationBean(webStatFilter);//默认对所有的url请求进行监控filterRegistrationBean.setUrlPatterns(Arrays.asList(/*));//排除指定的urlfilterRegistrationBean.addInitParameter(exclusions, *.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*);return filterRegistrationBean;}为了测试方便修改com/nlc/usersys/config/WebConfig.java 放行/sql 请求
Configuration
public class WebConfig /*implements WebMvcConfigurer*/ {Beanpublic WebMvcConfigurer webMvcConfigurer() {return new WebMvcConfigurer() {Overridepublic void addInterceptors(InterceptorRegistry registry) {System.out.println(addInterceptors~~~);//注册拦截器registry.addInterceptor(new LoginInterceptor()).addPathPatterns(/**).excludePathPatterns(/,/login,/images/**,/upload.html,/upload,/sql);}};}
}重启项目
完成测试重启项目看看Web 应用和URI 监控是否生效 Durid 监控功能-SQL 防火墙
需求: 配置SQL 防火墙 官方文档https://github.com/alibaba/druid/wiki/%E5%B8%B8%E8%A7%81%E9%97%AE%E9%A2%98 SQL 防火墙
修改com/nlc/usersys/config/DruidDataSourceConfig.java 加入防火墙监控 完成测试重启项目看看SQL 防火墙监控是否生效 Durid 监控功能-Session 监控
需求: 配置Session 监控 官方文档https://github.com/alibaba/druid/wiki/%E5%B8%B8%E8%A7%81%E9%97%AE%E9%A2%98 Session 监控
重启项目, 先登录管理系统 完成测试, 查看监控页需要输入用户名和密码, 点击Session 监控可以看到相关信息(注意要登录用户系统,才能看到Session 监控信息) Druid Spring Boot Starter
基本介绍
前面我们使用的是自己引入druid配置类方式整合Druid 和监控Druid Spring Boot Starter 可以让程序员在Spring Boot 项目中更加轻松集成Druid 和监控
应用实例
需求: 使用Druid Spring Boot Starter 方式完成Druid 集成和监控
具体实现
修改pom.xml 注销druid 的依赖
!-- dependency--
!-- groupIdcom.alibaba/groupId--
!-- artifactIddruid-spring-boot-starter/artifactId--
!-- version1.1.17/version--
!-- /dependency--注销com/nlc/usersys/config/DruidDataSourceConfig.java 这时测试druid 失效 查看druid 文档https://github.com/alibaba/druid引入druid starter 确认druid starter 引入哪些依赖 修改resources/application.yml 增加配置参数
spring:servlet:multipart:max-file-size: 10MBmax-request-size: 50MBdatasource: #配置数据源# 说明: 如果你没有指定useSSLtrue ,启动项目会报红警告, 环境的问题需要灵活处理url: jdbc:mysql://localhost:3306/furn_ssm?useSSLtrueuseUnicodetruecharacterEncodingUTF-8username: rootpassword: 123456driver-class-name: com.mysql.jdbc.Driver#配置druid和监控功能druid:stat-view-servlet:enabled: truelogin-username: jacklogin-password: 666reset-enable: falseweb-stat-filter: #配置web监控enabled: trueurl-pattern: /*exclusions: *.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*filter:stat: #sql监控slow-sql-millis: 1000log-slow-sql: trueenabled: truewall: #配置sql防火墙enabled: trueconfig:drop-table-allow: falseselect-all-column-allow: false重启项目完成测试
完成测试
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/929223.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!