- 博客(54)
- 收藏
- 关注
原创 【SpringBoot + Vue 尚庭公寓实战总结】房间支付方式管理优化(三)
房间支付方式管理共有三个接口,分别是和,下面逐一实现。首先在中注入依赖,如下。
2024-08-27 09:00:00
1024
1
原创 【SpringBoot + Vue 尚庭公寓实战总结】项目初始化准备(二)
是一个广泛应用于Linux系统的系统初始化和服务管理器,其可以管理系统中的各种服务和进程,包括启动、停止和重启服务,除此之外,其还可以监测各服务的运行状态,并在服务异常退出时,自动拉起服务,以保证服务的稳定性。插件,默认情况下,要求密码要包含大写字母、小写字母、数字和特殊符号,且密码长度最小为8。若需设置简单密码,可禁用该插件,或调整该插件的密码强度级别。Redis服务默认只允许本地访问,若需要进行远程访问,需要做出以下配置。部署Redis服务,安装方式采用yum在线安装,安装版本为。
2024-08-26 10:00:00
1171
原创 【SpringBoot + Vue 尚庭公寓实战总结】项目介绍(一)
本项目的技术架构如下图所示。项目采用前后端分离的模式,下面介绍各模块用到的技术。前端框架:VUE3后端框架:Spring Boot数据库访问:MyBatis、MyBatis PlusMyBatis-Plus(简称 MP)是一个MyBatis的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。数据存储关系型数据库:MySQL缓存:Redis对象存储:MinIO对象存储。
2024-08-26 08:00:00
1826
3
原创 苍穹外卖(五):员工管理、菜品分类管理
系统中的员工很多的时候,如果在一个页面中全部展示出来会显得比较乱,不便于查看,所以一般的系统中都会以分页的方式来展示列表数据。进入到sky-server模块中,在com.sky.controller.admin包下,在EmployeeController中创建新增员工方法,接收前端提交的参数。系统中的分类很多的时候,如果在一个页面中全部展示出来会显得比较乱,不便于查看,所以一般的系统中都会以分页的方式来展示列表数据。进入sky-pojo模块,在com.sky.dto包下,已定义EmployeeDTO。
2024-08-15 12:00:00
1089
原创 苍穹外卖(四):swagger导入接口文档
Swagger 是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务(它的主要作用是:使得前后端分离开发更加方便,有利于团队协作接口的文档在线自动生成,降低后端开发人员编写接口文档的负担功能测试Spring已经将Swagger纳入自身的标准,建立了Spring-swagger项目,现在叫Springfox。通过在项目中引入Springfox ,即可非常简单快捷的使用Swagger。
2024-08-15 07:30:00
1510
原创 苍穹外卖(三):MD5完善登录功能
MD5信息摘要算法(Message-Digest Algorithm5)算法简单的来说就是把任意长度的字串变换成固定长度(通常是128位)的16进制串。MD5的用途主要有:一致性验证:比如我们从网上下载了某个文件,网站上一般会给出该文件的MD5值,我们下载下来后,可以利用工具计算出新的MD5值,与正确的MD5值进行对照,如果不一样,则可以断定该文件下载出错或被篡改了。数字签名:可以用MD5算法对发布的程序或发布的消息生成MD5值作为签名等。
2024-08-14 12:30:00
1002
原创 苍穹外卖(二):开发环境搭建
开发环境搭建主要包含和两部分。作为服务端开发工程师, 我们课程学习的重心应该放在后端的业务代码上, 前端的页面我们只需要导入资料中的nginx, 前端页面的代码我们只需要能看懂即可。
2024-08-14 09:00:00
2343
原创 苍穹外卖(一):项目介绍
作为一名软件开发工程师,我们需要了解在软件开发过程中的开发流程, 以及软件开发过程中涉及到的岗位角色,角色的分工、职责, 并了解软件开发中涉及到的三种软件环境。那么这一小节,我们将从软件开发流程、角色分工、软件环境 三个方面整体介绍一下软件开发。在开发苍穹外卖这个项目之前,我们需要全方位的来介绍一下当前我们学习的这个项目。接下来,我们将从项目简介、产品原型、技术选型三个方面来介绍苍穹外卖这个项目。
2024-08-13 12:00:00
3480
1
原创 MyBatis-Plus
MyBatis-Plus 🚀 为简化开发而生MyBatis-Plus (opens new window)(简称 MP)是一个 MyBatis (opens new window) 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。特性:无侵入:只做增强不做改变,引入它不会对现有工程产生影响,如丝般顺滑损耗小:启动即会自动注入基本 CURD,性能基本无损耗,直接面向对象操作强大的 CRUD 操作:内置通用 Mapper、通用 Service,仅仅通过少量配置即可实现单
2024-08-13 08:00:00
833
原创 微头条项目补充
Postman是一个接口测试工具,在做接口测试的时候,Postman相当于一个客户端,它可以模拟用户发起的各类HTTP请求,将请求数据发送至服务端,获取对应的响应结果, 从而验证响应中的结果数据是否和预期值相匹配;并确保开发人员能够及时处理接口中的bug,进而保证产品上线之后的稳定性和安全性。它主要是用来模拟各种HTTP请求的(如:get/post/delete/put..等等),Postman与浏览器的区别在于有的浏览器不能输出Json格式,而Postman更直观接口返回的结果。
2024-08-12 12:00:00
557
原创 过滤器概述
Filter,即过滤器,是JAVAEE技术规范之一,作用目标资源的请求进行过滤的一套技术规范,是Java Web项目中最为实用的技术之一Filter接口定义了过滤器的开发规范,所有的过滤器都要实现该接口Filter的工作位置是项目中所有目标资源之前,容器在创建HttpServletRequest和HttpServletResponse对象后,会先调用Filter的doFilter方法。
2024-08-12 08:00:00
1181
原创 监听器概述
监听器:专门用于对域对象对象身上发生的事件或状态改变进行监听和相应处理的对象监听器是GOF设计模式中,观察者模式的典型案例观察者模式: 当被观察的对象发生某些改变时, 观察者自动采取对应的行动的一种设计模式监听器使用的感受类似JS中的事件,被观察的对象发生某些情况时,自动触发代码的执行监听器并不监听web项目中的所有组件,仅仅是对三大域对象做相关的事件监听监听器的分类web中定义八个监听器接口作为监听器的规范,这八个接口按照不同的标准可以形成不同的分类按监听的对象划分。
2024-08-11 12:00:00
945
原创 微头条项目开发(SSM)
前端技术栈ES6作为基础JS语法nodejs用于运行环境npm用于项目依赖管理工具vite用于项目的构建架工具Vue3用于项目数据的渲染框架Axios用于前后端数据的交互Router用于页面的跳转Pinia用于存储用户的数据LocalStorage作为用户校验token的存储手段Element-Plus提供组件后端技术栈JAVA作为开发语言,版本为JDK17Tomcat作为服务容器,版本为10.1.7Mysql8用于项目存储数据Servlet用于控制层实现前后端数据交互。
2024-08-11 00:09:03
931
原创 会话管理与实现
cookie是一种客户端会话技术,cookie由服务端产生,它是服务器存放在浏览器的一小份数据,浏览器以后每次访问该服务器的时候都会将这小份数据携带到服务器去。服务端创建cookie,将cookie放入响应对象中,Tomcat容器将cookie转化为set-cookie响应头,响应给客户端客户端在收到cookie的响应头时,在下次请求该服务的资源时,会以cookie请求头的形式携带之前收到的Cookiecookie是一种键值对格式的数据,从tomcat8.5开始可以保存中文,但是不推荐。
2024-08-10 12:00:00
1080
原创 Servlet详解
Servlet (server applet) 是运行在服务端(tomcat)的Java小程序,是sun公司提供一套定义动态资源规范;从代码层面上来讲Servlet就是一个接口用来接收、处理客户端请求、响应给浏览器的动态资源。在整个Web应用中,Servlet主要负责接收处理请求、协同调度功能以及响应数据。我们可以把Servlet称为Web应用中的控制器不是所有的JAVA类都能用于处理客户端请求,能处理客户端请求并做出响应的一套技术标准就是Servlet。
2024-08-10 08:00:00
722
原创 Spring全家桶(六):SSM整合原理
微观:将学习的Spring SpringMVC Mybatis框架应用到项目中!SpringMVC框架负责控制层Spring 框架负责整体和业务层的声明式事务管理MyBatis框架负责数据库访问层宏观:Spring接管一切(将框架核心组件交给Spring进行IoC管理),代码更加简洁。SpringMVC管理表述层、SpringMVC相关组件Spring管理业务层、持久层、以及数据库相关(DataSource,MyBatis)的组件使用IoC的方式管理一切所需组件实施。
2024-08-09 12:00:00
466
原创 Spring全家桶(五):SpringMVC
Spring Web MVC是基于Servlet API构建的原始Web框架,从一开始就包含在Spring Framework中。正式名称“Spring Web MVC”来自其源模块的名称(),但它通常被称为“Spring MVC”。在控制层框架历经Strust、WebWork、Strust2等诸多产品的历代更迭之后,目前业界普遍选择了SpringMVC作为Java EE项目表述层开发的首选方案。Spring 家族原生产品,与IOC容器等基础设施无缝对接表述层各细分领域需要解决的问题全方位覆盖,提供。
2024-08-09 09:00:00
1121
原创 MyBatis详解
MyBatis最初是Apache的一个开源项目iBatis, 2010年6月这个项目由Apache Software Foundation迁移到了Google Code。随着开发团队转投Google Code旗下, iBatis3.x正式更名为MyBatis。代码于2013年11月迁移到Github。MyBatis 是一款优秀的持久层框架,它支持自定义 SQL、存储过程以及高级映射。MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。
2024-08-08 14:00:00
1020
原创 Spring全家桶(四):Spring 事务
事务作用:在数据层保障一系列的数据库操作同成功同失败Spring事务作用:在数据层或业务层保障一系列的数据库操作同成功同失败核心点掌握目标spring框架理解spring家族和spring framework框架spring核心功能组件管理、ioc容器、ioc/di , 三种配置方式spring aopaop和aop框架和代理技术、基于注解的aop配置spring tx声明式和编程式事务、动态事务管理器、事务注解、属性。
2024-08-08 08:00:00
1616
原创 Spring全家桶(三):Spring AOP
AOP一种区别于OOP的编程思维,用来完善和解决OOP的非核心代码冗余和不方便统一维护问题!代理技术(动态代理|静态代理)是实现AOP思维编程的具体技术,但是自己使用动态代理实现代码比较繁琐!Spring AOP框架,基于AOP编程思维,封装动态代理技术,简化动态代理技术实现的框架!SpringAOP内部帮助我们实现动态代理,我们只需写少量的配置,指定生效范围即可,即可完成面向切面思维编程的实现!对实现了接口的类应用切面对没实现接口的类应用切面new。
2024-08-07 16:18:53
1179
原创 Spring全家桶(二):Spring IOC容器
IoC容器Spring IoC 容器,负责实例化、配置和组装 bean(组件)核心容器。容器通过读取配置元数据来获取有关要实例化、配置和组装组件的指令。IoC(Inversion of Control)控制反转IoC 主要是针对对象的创建和调用控制而言的,也就是说,当应用程序需要使用一个对象时,不再是应用程序直接创建该对象,而是由 IoC 容器来创建和管理,即控制权由应用程序转移到 IoC 容器中,也就是“反转”了控制权。
2024-08-07 00:24:03
1170
原创 Spring全家桶(一):SpringFramework
广义的 Spring:Spring 技术栈(全家桶)广义上的 Spring 泛指以 Spring Framework 为基础的 Spring 技术栈。经过十多年的发展,Spring 已经不再是一个单纯的应用框架,而是逐渐发展成为一个由多个不同子项目(模块)组成的成熟技术,例如 Spring Framework、Spring MVC、SpringBoot、Spring Cloud、Spring Data、Spring Security 等,其中 Spring Framework 是其他子项目的基础。
2024-08-06 22:50:56
1563
原创 SpringBoot基础 :快速入门
在com.itheima这个包下创建一个子包controller然后在controller包下新建一个类:HelloController。
2024-08-06 00:38:24
348
原创 JavaWeb:Maven详解
项目对象模型 (Project Object Model)依赖管理模型(Dependency)构建生命周期/阶段(Build lifecycle & phases)Maven的生命周期就是为了对所有的构建过程进行抽象和统一。描述了一次项目构建,经历哪些阶段。在Maven出现之前,项目构建的生命周期就已经存在,软件开发人员每天都在对项目进行清理,编译,测试及部署。虽然大家都在不停地做构建工作,但公司和公司间、项目和项目间,往往使用不同的方式做类似的工作。
2024-08-06 00:19:02
1169
原创 MYSQL初步
address:一个字符串类型的列,最大长度为100个字符,用来存储学生的家庭住址。email:一个字符串类型的列,最大长度为50个字符,用来存储学生的电子邮箱。pwd:一个字符串类型的列,最大长度为30个字符,用来存储学生的密码。name:一个字符串类型的列,最大长度为30个字符,用来存储学生的姓名。birthday:一个日期和时间类型的列,用来存储学生的出生日期,如果没有提供出生日期,则默认为NULL。sex:一个字符串类型的列,最大长度为2个字符,用来存储学生的性别。delete 不会自增归0。
2024-08-05 23:47:45
358
原创 数据结构课程设计选做(四)---行车路线(图)
3,循环直到队列为空:从队列中取出疲劳度最小的点,并标记为已访问。遍历该点的所有邻接点:如果邻接点已被访问,则跳过。如果小于邻接点当前的疲劳度,则更新邻接点的疲劳度。4,在每次循环中,选择疲劳度最小的点进行处理,并更新与其相邻的点的疲劳度。通过不断选择疲劳度最小的点,逐步扩展最短路径的范围,直到所有点都被访问过或者终点的疲劳度不再更新。Dijkstra算法是一种贪心算法,用于解决单源最短路径问题,即从一个起点到其他所有点的最短路径。1,初始化:将起点的疲劳度设置为0,其他点的疲劳度设置为无穷大。
2024-04-15 07:15:00
1968
原创 数据结构课程设计选做(三)---公共钥匙盒(线性表,栈,队列)
用于对借还钥匙的信息进行排序。排序的规则是首先按时间早的优先,然后是还钥匙优先,最后是编号小的优先。,用于存储钥匙盒中的钥匙情况,下标表示钥匙位置,值表示钥匙编号。通过循环,读取每次操作的借还钥匙信息,并将这些信息存储在结构体数组。遍历排序后的借还钥匙信息,根据借还标识将钥匙放入或取出钥匙盒中的对应位置。最后输出最终的钥匙盒情况。中,同时对应的操作次数进行递减。对存储的借还钥匙信息进行排序,排序规则使用了自定义的比较函数。,用于存储借还钥匙的信息,包括钥匙编号、时间和借还标识。自定义了一个比较函数。
2024-04-15 07:00:00
798
原创 数据结构课程设计选做(二)---魔法优惠劵(排序)
首先,从标准输入读入优惠券面值和商品价格,并排序。然后使用两个指针同时遍历数组,计算当前优惠券面值乘以商品价格并累加到最大利润中。2.2-11【1】魔法优惠劵(排序)正确-25 / 25分(满分)。
2024-04-14 07:15:00
222
原创 数据结构课程设计选做(一)---数字排序(哈希、排序)
遍历整数数组a,将每个整数作为索引,将辅助数组b中相应位置的值加1,表示该整数出现了一次。接着,通过排序算法(这里使用的是sort函数)对整数数组a进行排序,以便后续按照出现次数从多到少输出结果。最后,通过遍历辅助数组b,从出现次数最多的整数开始,逐个输出整数及其出现次数。使用计数排序的思想,创建一个辅助数组b,用于统计每个整数出现的次数。2.1.4 CSP测评结果。
2024-04-14 07:00:00
374
原创 数据结构课程设计(八)---排序算法比较 [排序]
由随机函数产生十个样本,每个样本5000个数据,数据存储在samples.txt中。八大排序方式的思想。设置控制台字体的颜色以增加可读性,再例如。由于排序方式很多,没有特定的结构体。后清空屏幕,以达到动态刷新的效果。时间复杂度为程序中已有直观显示。
2024-04-13 08:15:00
545
原创 数据结构课程设计(七)---求图的中心顶点 [图]
这段代码实现了弗洛伊德算法,用于求解有向图中任意两点之间的最短路径。该算法采用动态规划的思想,通过三重循环计算出任意两点之间的最短路径。函数实现设置字体颜色,使交互界面更加美观。时间复杂度为O(n^3)。函数实现弗洛伊德算法,
2024-04-13 08:00:00
701
原创 Tomcat无法成功启动——双击startup.bat闪退的解决办法
则根据PID(进程id号)来查这个占用端口的是哪个程序,命令是“tasklist|findstr "27900"”(注意PID是最后一列的数,输入命令行的时候记得该空格的地方要空格,如下图):如上图通过PID找到占用8080端口的程序是java.exe,下面在通过命令行“taskkill /f /t /im java.exe”结束该进程(注意“/”之前都有空格):至此,java.exe这个进程就被结束了。SET JAVA_HOME=D:\Java\jdk1.7 (java jdk目录)SET TOMCAT
2024-04-12 23:17:18
1237
1
原创 HTML&CSS(二)---HTML常见标签
HTML标题标签用于定义文档中的标题和子标题。HTML提供了六个级别的标题,分别是<h1>到<h6>,其中<h1>表示最高级别的标题,<h6>表示最低级别的标题。这些标签通常用于创建内容结构,帮助搜索引擎和读者理解文档的重要性和层次结构。<h1><h2><h6>标题标签不仅在视觉上呈现大小不同的文本,而且在SEO(搜索引擎优化)中也扮演着重要角色。搜索引擎使用标题标签来确定页面内容的主题和结构,因此它们对于提高页面在搜索结果中的排名非常重要。
2024-04-12 21:34:27
3129
1
原创 HTML&CSS(一)---HTML入门
标记语言(Markup Language)是一种用于对文本进行标记和注释的计算机语言,它使用特定的符号或标签来表示文本的结构、格式和含义。在万维网上,超文本通过超链接将全球的信息资源连接起来,用户可以通过浏览器访问这些资源,并在不同的网页和文档之间自由跳转。超文本的关键特性是它的交互性和动态性,用户可以通过超链接主动探索和选择信息,而不是被动地按照固定的顺序阅读。标记语言的目的是将文本内容与样式、布局和功能性的指令分离,使得文档的创建、编辑和显示更加灵活和标准化。1.3 超文本是什么。
2024-04-12 20:54:33
2007
原创 数据结构课程设计(六)---寻找最短路径 [图]
其中dis数组用于记录起点到各顶点的最短距离,path数组用于记录最短路径的前驱节点,基于Dijkstra算法,用于求解有向图中从指定起点到其他顶点的最短路径和距离。值设为0,将起点标记为已访问。循环n-1次,每次找到当前未访问的距离最小的顶点。函数创建有向图,输入图的顶点数和边数,并输入每条边的起点、终点和权值。相邻的顶点的最短距离和路径:如果发现一条新的最短路径,则更新。........(因有效性检验未通过,终止程序)输出起点到各顶点的最短距离和最短路径。数组用于标记顶点是否已经访问。
2024-04-12 20:33:49
1051
1
原创 数据结构课程设计(五)---输出树的路径 [树]
函数中,首先读取输入的节点数量 n,然后根据输入的父节点和子节点的关系,构建了一个树的数据结构,并对树进行了打印路径以及打印树形结构的操作。TreeNode(int value) : val(value), child_num(0) //构造函数。函数用于打印树的形状,包括树的层次结构和每个节点的值,采用了队列和哈希表的方式实现。,其中包括节点值、子节点指针数组、子节点数量等成员变量,并且定义了打印路径函数。函数用于打印从根节点到叶子节点的所有路径,采用了递归的方式进行处理。定义了一个树的结构体。
2024-04-12 20:20:24
820
原创 数据结构课程设计(四)--- Huffman编码与解码 [Huffman编码][二叉树]
从根节点开始遍历哈夫曼树,根据编码的0或1选择左分支或右分支,当遇到叶子节点时,将叶子节点对应的字符添加到解码结果字符串中。每次从队列中取出两个频率最小的节点,创建一个新节点作为它们的父节点,频率为子节点频率之和。将新节点加入队列,直到队列只剩一个节点,即为根节点。从根节点开始遍历哈夫曼树,左分支标记为0,右分支标记为1,将路径上的编码保存在每个节点中。对于每个字符,根据编码表找到对应的哈夫曼编码,并将编码拼接成一个编码结果字符串。
2024-04-12 20:15:28
1163
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人