# pet-server-rebuild **Repository Path**: kuxpq/pet-server-rebuild ## Basic Information - **Project Name**: pet-server-rebuild - **Description**: 宠物寄领养平台后端项目重构版 - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 2 - **Created**: 2022-05-20 - **Last Updated**: 2025-05-28 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## 宠物寄领养平台重构版 #### 一、项目简介 * 本项目是宠物寄领养平台后端项目的重构版,原项目源码地址: https://gitee.com/kuxpq/pet-server.git * 前端项目原地址: https://gitee.com/kuxpq/pet-ui.git 如果想要查看更详细的文档信息,请参考上面仓库文档,修改内容请查看下面内容 #### 二、重构原因及更改内容 ##### 2.1 重构原因 ​ 由于当时在做这个项目的时候技术水平有限,对整个项目的整体设计存在很多缺陷,同时代码编写也十分的不规范,特别是在把项目重新部署到其他机器时需要做较为复杂不合理的配置,例如文件上传路径的一些配置,需要对代码进行修改,十分的不方便,本着对这个项目还有点情怀,同时也为了练习练习自己的项目重构优化能力,于是对该项目进行了重构。虽然对该项目进行重构,但由于个人时间有限,也仅仅只是对其进行了简单的重构,并没有对其进行彻底的重构,重构后的项目依然存在一些不合理和不安全的地方。 ##### 2.2 修改内容 1. 优化了访问头像和图片路径的配置方式,通过springboot的自动配置机制,对头像和图片的访问路径配置提供了一些默认配置,使部署项目时变得更简单。 2. 添加了全局异常处理机制,对业务代码的异常进行统一的处理,极大地优化了业务代码,使其变得更佳简洁可维护。 3. 添加了日志记录器记录项目运行状态。 4. 对统一前端返回数据模板进行了优化。 5. 接口文档框架从 swagger2 升级到 knife4j-openapi3。 6. 对整个maven项目的配置项进行了更合理的调整优化。 #### 三、技术栈 ##### 3.1 后端项目 1. spring-boot-starter-web-2.5.6 2. mysql-connector-jave 3. druid-spring-boot-starter-1.2.6 4. mybatis-spring-boot-starter-2.1.3 5. pagehelper-spring-boot-starter-1.4.2 6. jjwt-0.9.1 7. knife4j-openapi3-spring-boot-starter-4.1.0 8. lombok 9. mapstruct-1.4.2.Final 10. mapstruct-processor-1.4.2.Final ##### 3.2 前端项目 1. @vue-cli 4.5.0 2. vue 2.6.11 3. vue-router 3.2.0 4. vuex 3.4.0 5. axios 0.26.0 6. js-md5 0.7.3 7. ant-design-vue 1.7.8 8. animate.css 4.1.1 #### 三、项目部署 ##### 3.1 后端项目部署 1. 在IDEA中运行该项目 1. 在 mysql(5.7版本以上)中运行 sql 文件夹下的 pet.sql 文件。 2. 在application-xxx.yml配置文件中修改数据库连接信息即可。 3. 注意事项:该项目上传的头像和图片文件默认上传到项目根路径下的 file 文件夹下对应的文件夹。注意头像和图片访问URL的默认域名和端口号为:localhost:8080,后端会将该域名和端口号加上头像和图片访问路径组成URL返回给前端,前端通过该URL访问头像和图片,如果项目部署的访问访问机器和端口号不是 localhost:8080,则需要将其修改为本项目实际部署的机器和端口号。头像和图片访问配置信息如下 ```yml # 配置文件访问的路径,最终生成的图片、头像访问的逻辑路径和存储的物理路径如下 # 图片访问的逻辑路径:server-url + "/file/picture/" # 头像访问的逻辑路径: server-url + "/file/avatar/" ##### separator为系统对应的路径分隔符,Linux为"/",windows为"\" # 图片存储的物理路径:file-physical-path + "picture" + separator # 头像存储的物理路径:file-physical-path + "avatar" + separator pet-server: file-path: # #默认为:http://localhost:8080,部署到服务器上时记得修改成自己的地址和端口号,前端会根据这个路径访问图片和头像 server-url: http://localhost:8080 # # 在IDEA中运行该项目默认路径为项目根路径下的file文件夹 # # 打成jar包之后运行默认路径为jar包所在路径下的file文件夹 # # 可以不用修改,直接用默认就可以,最后面带上分隔符 # file-physical-path: /your/file/path/ ``` 2. 打包成 jar 包运行 1. 配置方式和上面一样,唯一需要修改的是将 file 文件夹复制到 jar 包相同目录下即可,通过jar包运行项目时,项目默认将头像和文件上传到与 jar 包相同目录下的 file 文件夹下对应的文件夹。 2. 如果是部署在linux系统上,使用如下命令即可使项目在后台运行 ```vim nohup java -jar 你jar包文件的路径(如/your/path/pet.jar) & ``` ##### 3.1 前端项目部署(pet-ui目录) 1. 配置后端接口访问路径 ![image-20230712210215609](assets/README/image-20230712210215609.png) 2. 配置好后端接口访问路径之后进行打包部署即可(请根据自身部署情况解决好跨域问题,最简单的解决方案就是把打包好的静态资源文件放到后端项目的 static 目录下面,访问项目的时候使浏览器地址栏访问的域和后端接口访问的域保持一致。或者部署在Nginx上配置好反向代理服务),安装打包命令如下 ```vim # 安装依赖 npm install # 构建打包 npm run build ```