- 博客(43)
- 收藏
- 关注
原创 使用 docker ps 查不到刚刚创建的容器
docker创建mysql容器并实现本地目录挂载,虽然创建成功了,但是查看容器却不存在,删除重新创建还是同样的问题。
2024-12-24 11:10:48
482
原创 java运行项目到网页浏览器,出现out of memory
随着项目规模的扩大,最近频繁的出现在Java项目运行时遇到网页浏览器显示 “out of memory” 错误,有可能是公司电脑的运行内存太小了吧(才16G),也有可能是Java虚拟机(JVM)的内存不足。下面是整理的一些可能得原因以及解决方案,目前我是一直在清理浏览器缓存以及电脑的磁盘空间,也调整了Xms和-Xmx的大小,但还是会时不时蹦出这个问题。
2024-09-04 10:52:43
926
1
原创 Quartz任务调度框架
Quartz作为 Spring 默认的调度框架,与 Spring 集成实现灵活可配置的调度功能,此外其支持多种调度方法,应用方式灵活,并具有分布式和集群能力。驱动流程:比如在确定时间后根据任务完成情况触发一个警告并通知系统维护:在具体时间点调度一个数据从数据库转到xml文件中在应用中提供消息提醒服务。
2024-09-01 16:17:46
1300
原创 微服务雪崩问题、Sentinel(请求限流、线程隔离、服务熔断)、Seata分布式事务
微服务之间为什么会雪崩?怎么解决雪崩问题?如何采用Sentiel整合微服务实现请求限流、线程隔离以及服务熔断问题。怎么集成Seata解决微服务之间引发的分布式事务问题?
2024-05-21 15:00:02
1181
原创 网关路由SpringCloudGateway、nacos配置管理(热更新、动态路由)
前端请求不能直接访问微服务,而是要请求网关(SpringCloudGateway)网关干什么?路由过滤,登录校验。nacos既是注册中心也可用作配置管理,用来解决各个微服务块配置文件中相同的配置冗余,配置热更新属性,动态路由等。
2024-05-19 23:06:15
3324
原创 jdk17启动seata报错Error creating bean with name ‘globalTransactionScanner‘ defined in class path reso
在启动项目的时候出现了以下错误,起初我还以为是我依赖包还有seata配置文件的问题,仔细检查后发现这两个都是没问题。原来是jdk版本的问题。
2024-05-13 21:02:12
523
原创 用户登录认证和权限授权(SpringSecurity、JWT、session)
登录认证和权限授权是所有项目中必不可少的功能,本篇文章首先将通过最简单的方式(Session和JWT)实现登录认证和权限授权,然后再整合Springsecurity框架实现。
2024-05-13 15:13:10
7023
原创 工器具管理(基于若依)
增删改查相关操作代码由若依框架生成,这部分主要介绍入库和领用功能,可能业务逻辑没那么清晰,主要是实现相关代码,以及在学习的过程中,自己遇到一些问题。(仅个人学习记录)
2024-05-10 14:06:59
1203
原创 苍穹外卖day12 (Apache POI) 数据统计-Excel报表
工作台用于展示各项运营数据,在图形报表中很多方法都已实现,这部分的业务逻辑也差不多,只是返回的数据类型不一样。POI用于操作 Excel 文件,可以对Excel文件进行读写操作导出运营数据报表首先就是查询近30天的运营数据,然后通过POI将查询到的运营数据写入模板文件最后通过输出流将Excel文件下载到客户端浏览器。Apache POI 是一个处理Miscrosoft Office各种文件格式的开源项目。
2024-04-23 17:24:31
1325
原创 苍穹外卖day11 Apache ECharts 数据统计-图形报表
作为后端开发人员使用Echarts,重点在于研究当前图表所需的数据格式,响应给前端来展示图表。本项目用于图形报表主要包括营业额、用户、订单、销量排名Top10统计,业务逻辑都差不多,请求参数都为开始时间和结束时间。
2024-04-23 16:47:55
1958
原创 苍穹外卖day10(2)WebSocket、来单提醒、客户催单
websocket支持双向通信,通常用于数据实时更新。本项目中用于来单提醒和客户催单,当用户支付成功时,系统会提示客户来单;在用户端,客户点击催单按钮,系统会提示客户催单。
2024-04-22 22:38:11
1409
原创 苍穹外卖day10(1)Spring Task、 订单状态定时处理
Spring Task用于在指定时间处理某个业务逻辑,在本项目中体现在订单状态定时处理,包括“下单后未支付(订单超时自动取消)”、“订单一直处于派送中状态(订单需要自动更新成已完成)”。实现的业务逻辑通过当前订单状态和下单时间去查询订单,对于满足上面两个条件的订单,设置一个时间让任务自动执行。Spring框架提供的任务调度工具,可以按照约定的时间自动执行某个代码逻辑。应用场景信用卡每月还款提醒银行贷款每月还款提醒火车票售票系统处理未支付订单入职纪念日为用户发送通知。
2024-04-22 22:12:16
811
1
原创 苍穹外卖day9(2) 商家端订单管理
商家端订单管理很多方法在用户端历史订单管理中已实现,对于接单、拒单、取消订单、派送订单以及完成订单这些功能的业务逻辑相同,就是对订单的状态进行修改,拒单和取消订单时要设置原因。(已有功能优化部分,我注册账号失败了,所以就没有去实现了)
2024-04-22 21:48:47
1589
原创 苍穹外卖day9 (1)用户端历史订单
用户端对历史订单的操作,可以查询所有订单包括每个订单详情,取消订单(待付款或未派送的)、再来一单(把订单详情转换为购物车对象)。
2024-04-22 21:02:02
1116
原创 苍穹外卖day8(2)用户下单、微信支付
用户下单因为订单信息中包含了其他业务中的数据,在逻辑处理中涉及了多个其他业务,比如要判断地址簿、购物车数据是否为空(查询地址簿和购物车)订单表字段多,在插入数据的时候,要确保每个字段都有值向订单表插入数据后,也得向订单明细表插入数据:具体来说,就是遍历购物车数据,把购物车中的商品详细信息(菜品、套餐、数量、价格…)赋给订单详情表完成下单后要清空购物车订单支付需要商家号,跳过支付,模拟实现订单支付功能。
2024-04-22 17:22:18
1829
原创 苍穹外卖day8(1)地址簿功能
这部分主要是对用户端中地址簿的一些增删改查操作,业务逻辑比较简单,但是要注意一些细节,比如设置默认地址的时候,可以先把所以地址设置为非默认地址,再设置其中一个为默认地址(修改)。
2024-04-22 16:27:19
2213
2
原创 苍穹外卖day7 缓存商品(redis/Spring Cache)、用户端购物车功能
在用户端中,每次点击左侧分类都会展示一遍菜品数据,而每次都是通过查询数据库获取的,效率低下,所以通过redis来缓存数据。Spring Cache实现了基于注解的缓存功能,通过在方法上添加相应的注解,就能够实现相关缓存操作。添加购物车时,涉及到多个表的操作,可以单独添加菜品,也可以添加套餐,添加菜品的时候有些也需要添加菜品口味信息。
2024-04-18 22:45:22
1324
2
原创 苍穹外卖day4 套餐管理
套餐管理这部分主要涉及到的数据库表包括套餐表(setmeal)和菜品表(dish)以及一种套餐关联的所有菜品表(setmeal_dish),业务功能包括新增套餐、套餐分页查询、删除套餐、修改套餐、套餐起售停售。
2024-04-18 21:07:28
1451
3
原创 苍穹外卖day6 (微信登录、导入商品浏览功能代码)
微信登录模块中,主要包括获取微信用户授权码,为微信用户生成Jwt令牌,在登录时拦截用户端发送的请求并进行jwt校验。用户端商品浏览,主要包括分类、菜品、套餐信息的查询,而这些表之间都是有关联的,在分析业务逻辑的时候,一定要考虑业务操作可能会影响多个表。
2024-04-16 22:02:13
1794
原创 苍穹外卖day6(HttpClient 、微信小程序开发)
HttpClient主要用于客户端和服务端之间进行交互通信的,管理端网页版需要和小程序的用户端交互。微信小程序这块只简单介绍一下一些基本的使用,了解每个文件是干什么。
2024-04-16 10:03:48
1026
原创 苍穹外卖day3(2) 菜品管理(查、删、改、起售停售)
此部分主要包括菜品分页查询,批量删除菜品以及修改菜品。本质上都是一些增删改查,只是要分析清楚业务规则,因为菜品可能关联了口味或者套餐,通常就涉及多表操作。
2024-04-15 21:31:28
3189
5
原创 苍穹外卖day3(1) 菜品管理(AOP、自定义注解、反射、文件上传)
菜品管理,这部分包括公共字段自动填充、新增菜品。公共字段自动填充在这部分主要使用到的技术有AOP切面编程,这里面又涉及到了反射机制,还有怎么去自定义注解之类的。新增菜品这块新学的知识就是文件上传,这里用了阿里云OSS,把文件上传到云端存储,然后就是涉及到两个表之间的关联,怎么从dish_flavor表去获得另dish表中的dishId。在为业务表中的公共字段设值时出现代码冗余,不利于后期维护。//设置当前记录的创建时间、修改时间、创建人、修改人//设置创建时间、修改时间、创建人、修改人。
2024-04-12 22:49:51
1322
1
原创 苍穹外卖day2 员工管理(JWT、ThreadLocal)、分类管理
员工管理、分类管理。主要分析员工管理部分,分类管理中的代码逻辑和员工管理差不多,可以自己尝试着仿写。实现基本的增删改查操作,都是一个套路,代码编辑路线:controller->service->serviceImpl->mapper(简单的sql语句直接用注解,不需要去xml文件中编写)—>mapper.xml(编写sql语句)
2024-04-12 15:15:31
1538
1
原创 启动Springboot项目404:This application has no explicit mapping for /error, so you are seeing this as a f
在启动项目之后访问地址失败。
2024-04-09 16:43:30
532
1
原创 org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name ‘com
报错原因:注入失败。
2024-04-09 15:15:41
1730
原创 Spring MVC简化数据响应
模板页面(实现页面跳转)、转发和重定向、JSON数据(加入@ResponseBody)、静态资源(如访问图片信息)
2024-04-08 21:15:09
410
原创 SpringMVC表述层
Spring MVC简单介绍、作用以及快速构建javaEE项目基于Servlet API构建的原始Web框架,从一开始就包含在Spring Framework中,作为Java EE项目表述层开发的首选方案。Spring 家族原生产品,与IOC容器等基础设施无缝对接。
2024-04-08 11:09:27
327
原创 Mybatis-Plus基本使用
Mapper接口、Service接口的CRUD以及条件构造器使用等等自定义、多表映射和mybatis配置一样配置xml文件#默认mapper.xml文件在mapper文件夹下。
2024-04-08 10:14:58
1253
原创 Mybatis动态语句
经常遇到很多按照很多查询条件进行查询的情况,根据不同条件拼接 SQL 语句很痛苦动态 SQL 是 MyBatis 的强大特性之一。
2024-04-07 22:15:51
357
原创 Mybatis多表映射
我们希望每个数据库都具备良好的第三范式或 BCNF 范式,可惜它们并不都是那样。如果能有一种数据库映射模式,完美适配所有的应用程序查询需求,那就太好了,而ResultMap就是 MyBatis 就是完美答案。多表结果实体类设计小技巧对一,属性中包含对方对象对多,属性中包含对方对象集合只有真实发生多表查询时,才需要设计和修改实体类,否则不提前设计和修改实体类!无论多少张表联查,实体类设计都是两两考虑!在查询映射的时候,只需要关注本次查询相关的属性!
2024-04-07 21:57:45
590
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人