1. 项目概述
这个前后端分离的网站系统采用了当前主流的技术栈组合:SpringBoot+Vue3+MyBatis+MySQL。作为一名长期从事企业级应用开发的工程师,我认为这套技术组合在2023年依然是最佳实践之一。它既保持了Java生态的稳定性,又融入了现代前端框架的灵活性,特别适合中小型Web应用的快速开发和迭代。
系统最核心的价值在于实现了真正的前后端分离架构。与传统的JSP/Thymeleaf等模板引擎方案不同,这里后端仅提供RESTful API,前端通过Axios独立调用,这种架构让前后端团队可以并行开发,大大提升了开发效率。我在实际项目中采用类似架构后,团队开发速度提升了40%左右。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 技术栈深度解析
2.1 SpringBoot后端设计
SpringBoot版本选择2.7.x系列而非最新的3.x,这是经过慎重考虑的。2.7.x有更丰富的社区支持,与MyBatis的集成更稳定,而且对JDK8的兼容性更好。基础依赖包括:
xml复制<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.2.2</version>
</dependency>
<dependency>
<groupId>com.auth0</groupId>
<artifactId>java-jwt</artifactId>
<version>3.19.2</version>
</dependency>
JWT认证是系统的安全核心。我们采用HS256算法而非RS256,因为对于单体应用来说,HS256的性能更好且实现更简单。Token的有效期设置为2小时,刷新Token为7天,这个时间设置经过了多次压力测试验证。
重要提示:JWT的secret key必须足够复杂且定期更换,我曾见过因为使用简单secret导致的安全事故。
2.2 Vue3前端架构
前端采用Vue3的组合式API写法,相比Options API更灵活。项目结构清晰划分:
code复制/src
/api - 所有后端接口定义
