Spring
文章平均质量分 81
主要记录一些Spring中常用的易混知识点和常用的技术
我要200
这个作者很懒,什么都没留下…
展开
-
设计模式(工厂模式,模板方法模式,单例模式)
这很容易引发线程不安全问题,我们设想有两个线程,第一个线程需要这个singleton1这个对象,进入了if判断,不过这个时候CPU将线程切换给了第二个线程,那这个时候,第二个线程也进入了if判断,然后CPU再切换会第一个线程,线程一创建了对象,但是我们知道线程二也进入了if判断,它也能创建对象,这就导致了线程不安全问题。所以翻译成Java语言就是,空调是一个抽象类,发动机是一个抽象类,多个抽象类,一个工厂抽象类,不同型号的车是一个类都去继承这个工厂,你需要什么零件就去这个工厂里面配这个零件。原创 2024-07-16 16:20:22 · 813 阅读 · 0 评论 -
Redis
因为我们用了reids缓存技术,所以我们这里就没有设计到数据库的操作,所有的操作都是在Controll层进行(也是因为这个接口功能比较简单)设置营业状态用的是redis中最简单字符串,然后设置了一个key叫做Shop_Status,然后value就是status。并且通过了这个redistemplate对象的五个方法不同获取redis中的五种不同的数据类型。Redis set 是string类型的无序集合。集合成员是唯一的,集合中不能出现重复的数据,redis中的数据类型,特指的是value的数据类型。原创 2024-05-02 10:11:33 · 879 阅读 · 0 评论 -
EasyExcel数据导入
/ 有个很重要的点 DemoDataListener 不能被spring管理,要每次读取excel都要new,然后里面用到spring可以构造方法传进去@Slf4j/*** 这个每一条数据解析都会来调用*/@OverrideSystem.out.println("数据是:"+data);/*** 所有数据解析完成了 都会来调用*/@OverrideSystem.out.println("已监听完成");原创 2024-06-30 21:51:21 · 911 阅读 · 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 · 166 阅读 · 0 评论 -
Swagger和Knife4j 接口文档
使用Swagger你只需要按照它的规范去定义接口及接口相关的信息,就可以做到生成接口文档,以及在线接口调试页面。官网:https://swagger.io/原创 2024-04-21 16:13:35 · 419 阅读 · 1 评论 -
全局异常处理器
*** 自定义异常类*//*** 异常码*//*** 描述*/这里我用的时枚举,当然创建一个类来定义这些不同异常的处理信息也行。/*** 错误码*/PARAMS_ERROR(40000, "请求参数错误", ""),NULL_ERROR(40001, "请求数据为空", ""),NOT_LOGIN(40100, "未登录", ""),NO_AUTH(40101, "无权限", ""),原创 2024-06-10 15:55:33 · 292 阅读 · 0 评论 -
WebSocket 来单提醒和客户催单功能
WebSocket 是基于 TCP 的一种新的。它实现了浏览器与服务器通信——浏览器和服务器只需要完成一次握手,两者之间就可以创建持久性的连接, 并进行双向数据传输。原创 2024-05-09 17:10:49 · 1171 阅读 · 1 评论 -
Spring Task及订单状态定时处理
Spring Task 是Spring框架提供的任务调度工具,可以按照约定的时间某个代码逻辑。原创 2024-05-08 21:30:45 · 321 阅读 · 0 评论 -
阿里云文件上传
说一下,这里用的是两个环境,所以有两个配置文件,这个application.yml是一个主配置文件,我们需要把真正的信息配置到application-dev.yml。到此:在阿里云上上传文件的准备工作已经做完,剩下的就是要在idea中编写操作类,通过java代码来将文件上传给阿里云OSS。将这个阿里云工具类放在utils这个模块中,在tlias中引入这个依赖就可以直接使用。这一步也不是必须的,也可以直接在使用类中引入这四个变量,不过代码看起来就很冗余。注解,把它放到容器中,即可实现属性绑定。原创 2024-04-24 21:31:21 · 343 阅读 · 0 评论 -
SpringBoot的AOP理解
这里需要说一下这个注解类上面的两个注解:@Retention:描述这个注解什么时候生效@Target:当前这个注解可以作用在那些地方@Slf4j@Component//将这个类交给IOC容器管理@Aspect//声明这个类是一个AOP类@Autowired@Autowired//操作人ID - 当前登录员工ID//获取请求头中的jwt令牌,解析令牌//操作时间//操作类名//操作方法名//操作方法参数。原创 2024-04-23 15:56:15 · 970 阅读 · 0 评论 -
Spring Boot中@PathVariable、@RequestParam和@RequestBody的区别和使用
PathVariable的value:可指定占位符 { } 中的参数名,若只指定value这一个属性可省略属性名不写,若占位符中的参数名和处理方法中的参数名相同可省略此属性。注意点:如果使用了RequestParam,这个映射函数,因为这个函数的一个参数required的值默认是true,所以我们必须传递参数进去,如果不传递就会报错。这里的status前面就加了@PathVariable ,主要作用就是接收请求路径中的status参数,如果参数名和变量名名字相同则不需要value属性。原创 2024-04-22 21:39:24 · 307 阅读 · 1 评论