![](https://img-blog.csdnimg.cn/20200712104636890.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
SpringBoot 2.x.x
文章平均质量分 80
java框架学习
m0rta1
优秀的判断力来自经验,但经验来自于错误的判断。涉及领域: Java后端开发/前端开发/PHP/Python/WEB安全/逆向+PWN/云计算
展开
-
Spring Security 4 中的 hasRole 和 hasAuthority 差异引发的思考
前言:在使用 Spring Security 的时候我们必然会使用到如下两种访问权限配置中的一种:第一种:http.authorizeRequests() .antMatchers("/root/**").hasAuthority("root") .antMatchers("/admin/**").hasAuthority("admin") .anyRequest().authenticated()第二种:http.authorizeReq原创 2022-05-14 00:50:23 · 2943 阅读 · 1 评论 -
Netty4.x: Server端 设置 option 警告 Unknown channel option ‘xxxx‘ for channel 分析及解决 (附源码分析)
一、问题背景:最近某springboot项目想嵌入一个用户聊天功能,打算使用 Rabbitmq + Netty4.x + Redis 来开发高性能聊天功能。花费三天时间所有功能都已实现。启动时却警告 :Unknown channel option 'xxxx' for channel '[id: 0xba18fac1]', 虽然是个告警但是必须解决,否则会影响正在准备建立连接的握手以及激活心跳机制->TCP自动发送一个活动探测数据报文netty 使用的版本是 4.1.6二、源码分析1原创 2022-04-07 13:32:42 · 5215 阅读 · 1 评论 -
Docker 一键部署 SpringBoot 后端API + MySQL + Redis + Nginx + RabbitMq 服务
一、前言: 在开发中,频繁部署项目是日常。是不是已经厌倦了各种服务环境的配置?这里将使用 Docker 容器技术一键部署整个项目,只需编写 docker-compose.yml 和 Dockerfile 即可。Docker 你值得拥有!二、前期准备:1、已经打包成 jar 包的 SpringBoot 项目(假设是一个智慧校园APP的后端API服务)2、一台装有docker的Linux服务器 (建议使用 Linux)三、编写 Dockerfile这里通过编写 webapi-Dockerf原创 2022-03-30 01:25:40 · 5134 阅读 · 0 评论 -
SpringBoot 2.3.7:@AutoConfigureAfter || @AutoConfigureBefore 注解失效问题解决 (基于官方文档分析解决)
一、前言:最近项目有一需求,我需要指定一个配置类必须在另一个配置类执行之后才能执行。SpringBoot 提供了两个注解 :@AutoConfigureAfter或@AutoConfigureBefore注解为配置类指定特定的顺序。在实现的过程中遇到一些问题,注解不生效,没有按照特定顺序执行,这里做下分析及解决办法。二、原关键问题代码:目的:我想先加载 WebMvcConfig 配置,让 yml 文件里面值注入到静态成员变量中,然后再加载 DirConfig 配置类获取 WebMvcConfig原创 2022-03-13 12:10:35 · 2800 阅读 · 0 评论 -
百度智能云 -- 图像内容(Base64)智能审核调用踩坑问题排查及解决 -- (image format error)
前言:百度智慧云的图像内容审核真的坑死我了!!!弄了我整整2个小时。我只想吐槽一句: baidu 我 🦍🦍 你个大🦍🦍!操作很简单,就是把图像转成 Base64 然后上传给百度智慧云后台服务处理,并返回审核结果。然而里面的细节真是把我整吐了,下面由我娓娓道来。坑点 ①: API Explorer 在线调用器没有明确说明 base64 的格式我按照上述描述编写请求参数:data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEASABIAAD...,结果就出现了如下原创 2022-03-05 01:50:22 · 2405 阅读 · 3 评论 -
SpringBoot -- 过滤器注入Bean报异常 NullPointException问题分析及解决
一、前言:前不久在弄 spring security + jjwt 认证过滤器的时候,需要给 UsernamePasswordAuthenticationToken 类的构造方法传入 Collection<? extends GrantedAuthority> authorities 作为后续的 身份(role)验证。UsernamePasswordAuthenticationToken 类提供了两个重载的构造方法:UsernamePasswordAuthenticationToken(原创 2022-02-28 03:19:40 · 2039 阅读 · 0 评论 -
Spring Security 5: UsernamePasswordAuthenticationFilter 的子类重写 unsuccessfulAuthentication 方法不执行分析及解决
一、前言:在 Spring Security 框架中,最常用的 Filter 便是表单登录Filter,即 UsernamePasswordAuthenticationFilter。从下图中,能清晰的了解到 UsernamePasswordAuthenticationFilter 的继承关系。最近我用 Spring Security 做登录验证的时候遇到一个问题。UsernamePasswordAuthenticationFilter 继承的子类重写successfulAuthentication 、u原创 2022-02-28 02:03:18 · 5443 阅读 · 0 评论 -
Java 操作数据存入 Redis, Key出现乱码 \x00 -- 另类问题排查解决
前言:我们在使用 Java 操作redis时,或许会遇到乱码问题。虽然这些乱码可能并不影响Java程序的正常运行,但是使用 RDM 查看时redis数据时会很影响查看。以下提供一些解决办法。原创 2022-02-27 13:04:26 · 5171 阅读 · 0 评论 -
关于 Swagger2 已配置登录账号密码,登录却始终账号或密码错误问题解决
今日遇到一个很睿智的问题,一项目正准备动工,我在 springboot 里面集成了 Swagger Api 文档生成框架,想着不能让任何人访问,需要加个账号密码登录,然后呢我就按照开发文档的操作在 yml 里面配置访问需要的账号密码,奇怪的事情发生了,我设置的账号密码始终登录不进,一直报账号或密码错误,然后我又把配置的账号密码删除,这下总能访问了吧,结果怎么着,还是出现了需要登录的页面,我当时蒙了,然后就是百度呀百度,都没有出现我这种情况,只能自己找问题喽。(其实我觉得挺弱智的,但想着还是记录一下,以防日后原创 2022-01-26 00:49:31 · 6916 阅读 · 1 评论 -
关于 spring-boot-starter-log4j 启动器依赖如何修复 log4j 漏洞以及相关问题解决
前言: springboot 项目一般使用 log4j 是直接引入 spring-boot-starter-log4j 启动器依赖,但是官方提供最新的 spring-boot-starter-log4j 版本是 2016年 的,存在 log4j 远程代码执行漏洞风险。在此我将演示如何修复启动器依赖的方法。一、排除 spring-boot-starter-log4j 原有的相关依赖: <dependency> <groupId>org.spr原创 2022-01-23 15:35:43 · 4109 阅读 · 2 评论 -
SpringBoot: Redis 模拟高并发商品秒杀测试
秒杀系统的架构设计秒杀系统,是典型的短时大量突发访问类问题。对这类问题,有三种优化性能的思路:写入内存而不是写入硬盘异步处理而不是同步处理分布式处理用上这三招,不论秒杀时负载多大,都能轻松应对, Redis正好能完美满足上述三点。因此,用Redis就能轻松实现秒杀系统。秒杀测试代码编写:package com.xiao.springbootredisseckill.controller;import org.springframework.beans.factory.anno.原创 2021-04-02 00:51:41 · 3117 阅读 · 5 评论 -
SpringBoot 整合 Dubbo + zookeeper 实现远程服务调用以及相关问题解决
SpringBoot 整合 Dubbo + zeekeeper 实现远程服务调用以及相关问题解决原创 2021-04-01 00:35:50 · 5281 阅读 · 0 评论 -
SpringBoot 基于RequestBodyAdvice 和 ResponseBodyAdvice 实现数据的加/解密(采用 RSA 算法 ),“船新版本”!
一、前言: 数据是企业的第四张名片,企业级开发中少不了数据的加密传输。为了预防请求数据被劫持篡改,一般都会对传输的数据进行加密操作,如果每个接口都由我们自己去手动加密和解密,那么工作量太大而且代码冗余。那么有没有简单的方法,借助 Spring 提供的 RequestBodyAdvice 和 ResponseBodyAdvice 可以实现解密和加密操作。二、实现原理: RequestBodyAdvice处理请求的过程:RequestBodyAdvice源码如下:查看读取主体的内容来解析方法参数原创 2021-03-30 00:23:04 · 1385 阅读 · 0 评论 -
记 SpringBoot 1.x.x 与 SpringBoot 2.x.x 单元测试区别 以及 @RunWith 注解思考
前言原创 2021-02-20 22:20:12 · 419 阅读 · 1 评论 -
SpringBoot 2.4.X 整合 AOP --- 监听用户操作记录并保存数据库
前言 平时做项目的时候,习惯于记录系统日志,出错去查看系统日志而对于用户具体做了什么操作无法知道,所以在这里我打算使用Spring时期所学AOP,整合到springboot中实现对用户操作信息的详细记录.Spring-AOP 相关笔记请转至☞ Spring-AOP 面向切面编程一、目录结构二、 代码编写:1. Pom.xml 添加必要依赖 <!--提供JdbcTemplate--> <dependency> <group原创 2021-02-06 18:18:38 · 1036 阅读 · 0 评论 -
SpringBoot 导出Excel表格,并实现前端Vue+Axios下载文件不跳转页面
SpringBoot 导出Excel表格,并实现前端Vue+Axios下载文件不跳转页面原创 2021-01-08 00:17:21 · 2239 阅读 · 0 评论 -
SpringBoot @Value 注解失效 报 NULL 踩坑
问题:application.ymlspring: mail: host: smtp.qq.com port: 587 username: 273523754@qq.com password: xxxxxxxxx default-encoding: UTF-8如下图所示,做发送邮件工具类时,想读取application.yml中的发送人邮箱并注入到userName中,结果一直报 null, 注入失败…分析: 使用 @Value() 注意事项:原创 2020-12-21 00:22:22 · 710 阅读 · 0 评论 -
Postman 上传文件 返回 500 报错 “Current request is not a multipart request” 解决
一、Postman 请求文件上传遇到如下问题:二、 解决办法: 先看看网上浏览量比较高的文章是怎么解决这个问题的试了试这个方法,没有效果。。。。。 正确解决方法:在Headers里面加 Content-Type 值为: multipart/form-data;boundary=10Body格式的设定三、效果展示:...原创 2020-12-17 16:45:49 · 7582 阅读 · 11 评论 -
SpringBoot 解析前端上传的 Excel文件并导入数据库 --- 稍作优化(范型巧用)
一、准备工作: pom.xml 导入相应解析Excel文件依赖包<!--解析excel--> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>4.0.1</version> </dependency> <dependency>原创 2020-12-17 16:11:11 · 2613 阅读 · 11 评论 -
spring boot 2.x+ 版本:启动报错:Error creating bean with name ‘dataSource‘ defined in class path resource解决
报错如下:这个错误,要找其原因不好找,我也是百度后才知道的,记住就好了,遇到这种情况,看自己导入的 druid连接池 jar包版本是否过低,换个高版本的即可。原创 2020-12-16 16:33:11 · 508 阅读 · 0 评论 -
关于springboot 中使用 pagehelper 分页插件遇到的问题以及解决办法
一、给PageHelper.startPage(pageNum,pageSize)传入了参数,响应结果却还是全部学生信息 Controller 层: 响应结果: 原因及解决: PageHelper.startPage(pageNum,pageSize) 代码顺序写错了,应该先写PageHelper.startPage(pageNum,pageSize) ,然后再调用 Service层的查询方法,否则分页失效。二、报错:SQL语句出问题查看mybatis 映射文件,SQL好像没啥问原创 2020-12-15 10:47:23 · 1400 阅读 · 0 评论