随笔分类 -  03-SpringBoot相关

摘要:1.概述 联网系统通常都要面对大并发大流量的请求,在突发情况下(最常见的场景就是秒杀、抢购),瞬时大流量会直接将系统打垮,无法对外提供服务。为了防止出现这种情况最常见的解决方案之一就是限流,当请求达到一定的并发数或速率,就进行等待、排队、降级、拒绝服务等。 限流是对某一时间窗口内的请求数进行限制,保 阅读全文
posted @ 2023-05-15 11:27 钟小嘿 阅读(3113) 评论(0) 推荐(1) 编辑
摘要:1.概述 Apache Shiro 是一款 Java 安全框架,不依赖任何容器,可以运行在 Java SE 和 Java EE 项目中,它的主要作用是用来做身份认证、授权、会话管理、缓存和加密等操作。 和SpringSecurity的作用大概是一致的,但SpringSecurity由于其功能丰富而复 阅读全文
posted @ 2023-02-22 16:41 钟小嘿 阅读(1323) 评论(0) 推荐(2) 编辑
摘要:最近项目基本开发完成,准备部署到服务器中进行功能的验证,但当把所有的环境都搭建好,启动项目后,tomcat启动日志正常,发现在服务调用时一直报错。 项目是使用SpringBoot框架搭建的,多个项目之间通过nacos进行服务调用。于是我查看的nacos的管理端,发现服务并没有注册进来。开始以为是na 阅读全文
posted @ 2022-11-08 11:06 钟小嘿 阅读(1787) 评论(0) 推荐(1) 编辑
摘要:无论在做接口或还是前后端交互时,进行必要的参数校验是很重要的,可有效避免垃圾数据。 这里使用Spring Validation校验器进行说明,导入依赖如下: <dependency> <groupId>org.springframework.boot</groupId> <artifactId>sp 阅读全文
posted @ 2022-10-17 11:34 钟小嘿 阅读(411) 评论(0) 推荐(0) 编辑
摘要:对于某些特定的接口,为了防止数据碰撞等问题,可限制接口对同一IP在一段时间内的访问次数。本文使用注解方式: 1.导入需要的依赖 <!-- redis依赖 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId> 阅读全文
posted @ 2022-06-08 19:04 钟小嘿 阅读(4253) 评论(1) 推荐(1) 编辑
摘要:在最流行的前后端交互的项目中,后端一般都是返回指定格式的数据供前端解析,本文使用注解方式返回统一格式的数据,那么下面就看看是如何使用的吧 1)返回响应码实体 package com.zxh.example.entity.model; import lombok.Data; public enum R 阅读全文
posted @ 2022-04-04 17:03 钟小嘿 阅读(756) 评论(0) 推荐(0) 编辑
摘要:1.问题描述 对于大文件上传解析,若直接上传,会超时,可使用WebSocket长链接方式实时显示文件的上传状态,实际上是从文件上传到内容解析完成存入数据库的过程,各个阶段的进度可自定义。 本文使用SpringBoot+WebSocket+vue2.0+Element+nginx实现文件实时上传显示进 阅读全文
posted @ 2022-03-24 18:56 钟小嘿 阅读(2904) 评论(0) 推荐(1) 编辑
摘要:1.问题背景 在使用SpringBoot架构搭建父子工程时,使用IDEA可以正常启动,但打成jar包后使用jar方式启动时,会报错xx.jar中没有主清单属性。 2.原因分析 原因主要是在使用jar方式启动时,没有指定Main-Class,导致启动时找不到主方法,使得SpringBoot项目无法启动 阅读全文
posted @ 2022-02-18 20:13 钟小嘿 阅读(3589) 评论(0) 推荐(0) 编辑
摘要:在项目中通常会用到excel模板下载,但是在下载后却无法打开,下载代码如下: @GetMapping("/test") public void test(HttpServletResponse response) throws IOException { String fileName = "学生信 阅读全文
posted @ 2022-01-03 21:05 钟小嘿 阅读(1534) 评论(0) 推荐(0) 编辑
摘要:在项目中,经常会遇到使用第三方的SDK,简单说就是第三方生成的jar包,但不能上传到maven仓库。 1.引入jar 在资源目录下新建lib目录,将第三方sdk放入其中,如这里使用的是淘宝的SDK: 2.pom引入 在pom中使用systemPath方式引入此jar <dependency> <gr 阅读全文
posted @ 2021-12-13 22:10 钟小嘿 阅读(2713) 评论(0) 推荐(0) 编辑
摘要:在SpringBoot项目的配置文件中, 至少会有数据库用户名和密码,或其他敏感信息的配置。 通常都是用明文显示的, 对于比较敏感的信息, 则可对其内容加密。 这里使用jasypt进行加密,步骤如下: 1)pom导入依赖: <dependency> <groupId>com.github.ulise 阅读全文
posted @ 2021-12-11 12:10 钟小嘿 阅读(1106) 评论(0) 推荐(0) 编辑
摘要:有时需要对请求或返回的数据进行加密,那么SpringBoot就提供了支持,可对请求体进行处理,也可对响应体进行处理。 1.对请求体处理 对响应体进行处理,需要实现RequestBodyAdvice接口,重写方法。 package com.zys.example.config; import lomb 阅读全文
posted @ 2021-10-19 19:19 钟小嘿 阅读(1742) 评论(0) 推荐(0) 编辑
摘要:1.前言 对于文件上传,一般是对上传文件的后缀名进行格式校验,但是由于文件的后缀可以手动更改,后缀名校验不是一种严格有效的文件校验方式。 如果想要对上传文件进行严格的格式校验,则需要通过文件头进行校验,文件头是位于文件开头的一段承担一定任务的数据,其作用就是为了描述一个文件的一些重要的属性,其可以作 阅读全文
posted @ 2021-10-13 18:42 钟小嘿 阅读(3302) 评论(0) 推荐(0) 编辑
摘要:在spring boot中,当需要控制配置类是否生效时可以使用@ConditionalOnProperty注解来控制@Configuration是否生效。当然也可以控制@Component等注解。 package com.zys.example.config; import lombok.exter 阅读全文
posted @ 2021-10-11 20:34 钟小嘿 阅读(3511) 评论(0) 推荐(1) 编辑
摘要:SpringBoot 2.4在进行打包时,出现异常: 具体信息如下: Failed to execute goal org.apache.maven.plugins:maven-war-plugin:2.2:war (default-war) on project pts_job: Error as 阅读全文
posted @ 2021-10-09 16:31 钟小嘿 阅读(541) 评论(0) 推荐(0) 编辑
摘要:有时需要在SpringBoot启动时进行一些初始化的操作,有以下几种方法: 1.实现CommandLineRunner接口 在启动类上实现CommandLineRunner接口,重写run方法 package com.zxh; import lombok.extern.slf4j.Slf4j; im 阅读全文
posted @ 2021-09-09 11:16 钟小嘿 阅读(422) 评论(0) 推荐(0) 编辑
摘要:关于Zookeeper和Dubbo的原理在此略,请参考链接。默认已在本地安装了Zookeeper 1.服务提供者开发 1)新建一个SpringBoot的项目,导入依赖 <dependencies> <!--web--> <dependency> <groupId>org.springframewor 阅读全文
posted @ 2021-09-01 08:59 钟小嘿 阅读(527) 评论(0) 推荐(0) 编辑
摘要:WebSocket协议是一种全双工协议,服务端可以主动向客户端推送消息,可以是文本也可以是二进制数据,而且没有同源策略的限制,不存在跨域问题。这里主要介绍服务端向客户端推送消息。 第一步:导入依赖 <dependency> <groupId>org.springframework.boot</gro 阅读全文
posted @ 2021-08-25 19:36 钟小嘿 阅读(1606) 评论(0) 推荐(0) 编辑
摘要:Spring的事件通知机制是一项很有用的功能,使用事件机制可将相互耦合的代码解耦,从而方便功能的开发。 1.入门案例 1.1环境准备 新建一个SpringBoot的项目,导入web的依赖,编写一个controller接口: package com.zys.springboottestexample. 阅读全文
posted @ 2021-07-22 20:31 钟小嘿 阅读(1055) 评论(0) 推荐(0) 编辑
摘要:1.使用自带的Schedule SpringBoot中自带有定时任务,用法很简单。 第一步:在启动类上面开启定时任务的注解 @SpringBootApplication @EnableScheduling//开启定时任务 public class Demo2Application { public 阅读全文
posted @ 2021-07-12 10:12 钟小嘿 阅读(514) 评论(0) 推荐(0) 编辑