1. 项目背景与核心需求
宠物寄养行业近年来呈现爆发式增长,根据2025年宠物行业白皮书数据显示,我国宠物寄养市场规模已突破200亿元,年增长率保持在25%以上。这种快速增长背后是都市人群出差、旅行需求增加与宠物人性化养护意识提升的双重驱动。然而传统线下寄养机构普遍存在信息不透明、服务标准化程度低、预约流程繁琐等问题。
基于Spring Boot+Vue的宠物寄养系统正是为解决这些痛点而设计。系统需要实现的核心功能包括:
- 多角色用户体系(宠物主人、寄养机构、系统管理员)
- 可视化寄养环境监控(需对接物联网设备)
- 服务标准化定价与在线支付
- 宠物健康档案电子化
- 双向评价反馈机制
2. 技术架构设计
2.1 前后端分离架构
系统采用B/S架构,前后端完全分离。这种设计带来三个显著优势:
- 并行开发:前端团队可基于Mock数据开发,不依赖后端进度
- 性能优化:静态资源由Nginx直接分发,减轻应用服务器压力
- 技术栈灵活:前后端可独立升级技术栈
具体通信机制:
mermaid复制graph TD
A[Vue前端] -->|Axios| B[Nginx]
B -->|HTTP/HTTPS| C[Spring Boot]
C -->|MyBatis Plus| D[MySQL]
2.2 后端技术栈深度解析
2.2.1 Spring Boot的自动装配魔法
宠物寄养系统采用Spring Boot 3.1.5版本,其自动装配机制大幅简化了配置。以数据库连接为例,只需在application.yml中配置:
yaml复制spring:
datasource:
url: jdbc:mysql://localhost:3306/pet_foster?useSSL=false
username: root
password: 123456
driver-class-name: com.mysql.cj.jdbc.Driver
Spring Boot会自动:
- 创建HikariCP连接池
- 配置事务管理器
- 初始化JdbcTemplate
2.2.2 MyBatis Plus的CRUD增强
系统使用MyBatis Plus 3.5.3,其Lambda表达式查询让代码更安全:
java复制public Page<Pet> searchPets(PetQuery query) {
return lambdaQuery()
.eq(StringUtils.isNotBlank(query.getPetType()), Pet::getPetType, query.getPetType())
.between(query.getStartDate() != null, Pet::getCreateTime,
query.getStartDate(), query.getEndDate())
.page(new Page<>(query.getPageNum(), query.getPageSize()));
}
2.3 前端技术栈选型
2.3.1 Vue 3的组合式API
采用
