Spring Boot
文章平均质量分 87
主要记录SpringBoot的知识
我要200
这个作者很懒,什么都没留下…
展开
-
SpringBoot项目整合智谱AI + SSE推送流式数据到前端展示 + RxJava得浅显理解
``json{"options":[{"value":"12 + 15", "key":"A"},{"value":"14 + 17", "key":"B"},{"value":"13 + 16", "key":"C"}], "title":"小学数学测验:哪个选项的结果是29?"},原创 2024-08-27 17:22:19 · 1312 阅读 · 0 评论 -
JWT登录校验流程
但是传统的会话技术对用户的掌控能力更强,就是我可以直接在我的数据库中将session设置为失效,你直接就登录不了,不过对比于jwt,我们必须会设置一个过期时间,只有等过期时间过去了,你才不能登录。就是当你登录成功之后,系统会给你下发一个令牌,这个令牌肯定会比较复杂,拼接你的账号密码这些然后经过加密算法算出来一个字符串三个部分,三个部分就是我上面说的请求头,负载,签名。记住这个我们需要判断,这个路径是不是登录方法,如果是登录方法,我们都还没给他令牌,肯定。原创 2024-08-03 13:20:25 · 1096 阅读 · 0 评论 -
Mybatis-plus笔记
这一篇的标题是Mybatis-plus笔记,不会再去分析Mybatis-plus中的每一个方法,就单纯的从下面四个方面介绍一下1:介绍一下概念(依赖,基本的使用)2:Mybatis-plus的条件构造器3:Mybatis-plus的扩展功能:分页插件,乐观锁,悲观锁,禁止全局删除或更新4:Mybatis-plus - x插件简介 | MyBatis-Plus (baomidou.com)是一个MyBatis的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。原创 2024-08-02 12:54:31 · 909 阅读 · 0 评论 -
SpringMVC(包括Servlet,会话技术)理解
首先先介绍一下Servlet这个用java编写的服务端的程序。再介绍Cookie和Session的会话技术,最后再介绍SpringMVC,因为现在的表述层都直接用SpringMVC这个框架了,淡化了很多Servlet方面的知识,不过这个框架底层也是用Servlet实现的,所以在此简单记录一下。这个是鱼皮老师的用户中心项目,之前写过苍穹外卖,接触了jwt登录,但是那个时候是直接用了拦截器,自己对jwt的研究也不够深入,这个项目接触了另一种登录方法。也算是有所收获。原创 2024-07-31 17:51:50 · 991 阅读 · 0 评论 -
springAOP理解及事务
Slf4j@Component//将这个类交给IOC容器管理@Aspect//声明这个类是一个AOP类@Autowired@Autowired//操作人ID - 当前登录员工ID//获取请求头中的jwt令牌,解析令牌//操作时间//操作类名//操作方法名//操作方法参数//原始方法执行之前的时间//调用原始目标方法运行//方法返回值//操作耗时//原始方法执行之后的时间//记录操作日志。原创 2024-07-25 20:41:47 · 924 阅读 · 1 评论 -
springboot自动装配原理(源码分析)及自定义starter
SpringBoot的自动配置就是当spring容器启动后,一些配置类、bean对象就自动存入到了IOC容器中,不需要我们手动去声明,从而简化了开发,省去了繁琐的配置操作。在实际开发中,经常会定义一些公共组件,提供给各个项目团队使用。而在SpringBoot的项目中,一般会将这些公共组件封装为SpringBoot 的 starter。常见的自定义starter:阿里云OSS,JWT令牌,这些功能模块,我觉得也可以理解为工具类。原创 2024-07-24 17:28:48 · 667 阅读 · 0 评论 -
spring部分源码分析及Bean的生命周期理解
本文整体框架是通过refresh方法这个入口进入分析:分析IOC容器的创建及一些Bean的生命周期的知识点,写得确实一般般,感觉自己的有些前置知识并没有理解的很到位,所以,这篇文件先记录一下,等以后理解得好了再来更新。System.out.println("实例化");System.out.println("依赖注入");System.out.println("初始化");System.out.println("销毁");@Override。原创 2024-07-23 15:14:07 · 1146 阅读 · 2 评论 -
Maven使用(依赖管理和继承聚合特性)
虽然传统的Web工程一般指的是WAR包部署,但目前的开发实践中,尤其是使用Spring Boot的情况下,JAR包也是可以直接用于Web应用程序的部署的。这为开发者提供了更为灵活和便利的部署方式。所以在你提到的情况下,使用JAR包来部署Web项目是完全合理的,尤其是如果你使用了Spring Boot的话。这样可以让你的应用更容易进行独立部署和管理我们可以从上面得知,springboot项目有内置tomcat 这种服务器软件,所以,我们直接打成jar包就行,原创 2024-07-22 20:37:45 · 1006 阅读 · 0 评论 -
设计模式(工厂模式,模板方法模式,单例模式)
这很容易引发线程不安全问题,我们设想有两个线程,第一个线程需要这个singleton1这个对象,进入了if判断,不过这个时候CPU将线程切换给了第二个线程,那这个时候,第二个线程也进入了if判断,然后CPU再切换会第一个线程,线程一创建了对象,但是我们知道线程二也进入了if判断,它也能创建对象,这就导致了线程不安全问题。所以翻译成Java语言就是,空调是一个抽象类,发动机是一个抽象类,多个抽象类,一个工厂抽象类,不同型号的车是一个类都去继承这个工厂,你需要什么零件就去这个工厂里面配这个零件。原创 2024-07-16 16:20:22 · 931 阅读 · 0 评论 -
Redis
因为我们用了reids缓存技术,所以我们这里就没有设计到数据库的操作,所有的操作都是在Controll层进行(也是因为这个接口功能比较简单)设置营业状态用的是redis中最简单字符串,然后设置了一个key叫做Shop_Status,然后value就是status。并且通过了这个redistemplate对象的五个方法不同获取redis中的五种不同的数据类型。Redis set 是string类型的无序集合。集合成员是唯一的,集合中不能出现重复的数据,redis中的数据类型,特指的是value的数据类型。原创 2024-05-02 10:11:33 · 910 阅读 · 0 评论 -
EasyExcel数据导入
/ 有个很重要的点 DemoDataListener 不能被spring管理,要每次读取excel都要new,然后里面用到spring可以构造方法传进去@Slf4j/*** 这个每一条数据解析都会来调用*/@OverrideSystem.out.println("数据是:"+data);/*** 所有数据解析完成了 都会来调用*/@OverrideSystem.out.println("已监听完成");原创 2024-06-30 21:51:21 · 1262 阅读 · 0 评论 -
‘dependencies.dependency.version‘ for mysql:mysql-connector-java:jar is missing.问题的解决
接着好奇怪,我突然添加了一个com.alibaba那边的一个依赖,然后我重新刷新maven的时候,直接就报错了,控制台输出。但是上网查了一下,也问了GPT,回答都是因为依赖没有引入所以找不到,后面解决了也是因为springboot高版本的问题。并且我刚刚加入的依赖显示alibaba无法解析。这个真的蛮离谱一个bug。不过我明明已经引入了依赖。原创 2024-06-30 21:18:15 · 328 阅读 · 0 评论 -
Swagger和Knife4j 接口文档
使用Swagger你只需要按照它的规范去定义接口及接口相关的信息,就可以做到生成接口文档,以及在线接口调试页面。官网:https://swagger.io/原创 2024-04-21 16:13:35 · 499 阅读 · 1 评论 -
全局异常处理器
*** 自定义异常类*//*** 异常码*//*** 描述*/这里我用的时枚举,当然创建一个类来定义这些不同异常的处理信息也行。/*** 错误码*/PARAMS_ERROR(40000, "请求参数错误", ""),NULL_ERROR(40001, "请求数据为空", ""),NOT_LOGIN(40100, "未登录", ""),NO_AUTH(40101, "无权限", ""),原创 2024-06-10 15:55:33 · 314 阅读 · 0 评论 -
WebSocket 来单提醒和客户催单功能
WebSocket 是基于 TCP 的一种新的。它实现了浏览器与服务器通信——浏览器和服务器只需要完成一次握手,两者之间就可以创建持久性的连接, 并进行双向数据传输。原创 2024-05-09 17:10:49 · 1480 阅读 · 1 评论 -
Spring Task及订单状态定时处理
Spring Task 是Spring框架提供的任务调度工具,可以按照约定的时间某个代码逻辑。原创 2024-05-08 21:30:45 · 338 阅读 · 0 评论 -
阿里云文件上传
说一下,这里用的是两个环境,所以有两个配置文件,这个application.yml是一个主配置文件,我们需要把真正的信息配置到application-dev.yml。到此:在阿里云上上传文件的准备工作已经做完,剩下的就是要在idea中编写操作类,通过java代码来将文件上传给阿里云OSS。将这个阿里云工具类放在utils这个模块中,在tlias中引入这个依赖就可以直接使用。这一步也不是必须的,也可以直接在使用类中引入这四个变量,不过代码看起来就很冗余。注解,把它放到容器中,即可实现属性绑定。原创 2024-04-24 21:31:21 · 391 阅读 · 0 评论