重构谷粒商城01:为何重构谷粒商城

前言:这个系列将使用最前沿的cursor作为辅助编程工具,来快速开发一些基础的编程项目。目的是为了在真实项目中,帮助初级程序员快速进阶,以最快的速度,效率,快速进阶到中高阶程序员。

本项目将基于谷粒商城项目,并且对谷粒商城项目进行二次重构,使其满足最新的主流技术栈要求。

一、为什么重构谷粒商城

谷粒商城是一个典型的 B2C(Business to Customer)电商项目,专注于实现线上商品交易平台的功能。它模拟真实的电商业务流程,从用户注册到商品浏览、下单、支付、物流等全流程,采用微服务架构,结合多种主流技术栈,适合用于学习微服务开发、分布式架构、和高并发处理的技术。

主要会使用的技术栈:java、spring boot、spring cloud、Spring Data JPA、MyBatis-Plus、Spring Security、OAuth2、Vue.js、Element-UI / Ant Design、Vue Router、Vuex、Axios、MySQL、redis、Nginx、RabbitMQ / RocketMQ、ElasticSearch (ES)、Logstash + Kibana、Docker、Kubernetes (K8s)、Jenkins、Maven 、Swagger、JWT、OSS 、FastDFS、Zookeeper。

可以说,学会了它,就意味着你掌握了主流的技术栈。能够拿下大部分的offer,甚至可以成为独立开发者。

但是,谷粒商城也有不足。

1、年代久远,部分技术栈过时 2、官方文档不够细致,很多内容在视频中有,文档中没有,手动做笔记又太浪费时间 3、有些内容存在缺漏、错误。 4、对很多技术栈,默认你已经具有基础,并非真正的0基础。 5、cursor为代表的AI编程工具突飞猛进,我们完全没有任何必要再向过去那样学习一大堆技术栈,再进行项目实战,这样会浪费你大量宝贵时间。

基于此,我决定出一个重构版的系列博客,解决以上问题。

二、需要你具有哪些基础

Java 基础(掌握面向对象和基本多线程)。 Spring Boot(能启动服务、开发 REST API)。 MySQL(掌握基础数据库操作)。

其它的技术栈,在使用之前,我尽量会用最精简语言,出一篇单独的番外篇文章,帮你快速入门。

三、会做哪些更新

Spring Cloud Netflix 组件:Netflix 系列中的部分组件已进入维护模式,将迁移至 Spring Cloud 官方推荐的替代方案。

Eureka:考虑迁移至 Nacos 或 Consul,以获得更丰富的服务注册与发现功能。 Ribbon:使用 Spring Cloud LoadBalancer,提供更现代的负载均衡机制。 Hystrix:替换为 Resilience4j,以利用更轻量级的熔断与限流功能。 MyBatis-Plus:虽然 MyBatis-Plus 仍被广泛使用,但随着 JPA 和 Spring Data 的发展,许多项目更倾向于使用这些更高层次的持久化框架,以简化开发流程。本项目将尝试进行这一升级。

RabbitMQ:在某些高并发场景下,Kafka 等消息队列因其高吞吐量和分布式特性,正逐渐成为更受欢迎的选择。

另外,对于其它技术栈,我们也会基于较新且稳定的版本进行迭代。

本系列博客,是可以持续升级迭代的,后期如果时间、精力允许,还考虑扩展其它模块、功能。增加新的技术栈,等等。当然,也许我还会重构其它类型的项目,比如线上教育、直播、办公系统......

四、课程大纲

为了同时兼容做过谷粒商城和没有做过谷粒商城的同学。本项目将分成两个大部分。第一个部分,完全照搬原来谷粒商城的技术栈,做到复制。第二个部分,对谷粒商城进行技术重构。所有使用到的技术栈,都会单独出一篇番外篇进行介绍。

因为本专栏完全是个人兴趣驱动,如果觉得写的不错,请三连支持,不要白嫖哦。。这样,我也可以更有动力持续更新。

五、什么是cursor

Cursor 是一款基于 AI 的编程工具,旨在提高开发者的编程效率。它结合了现代代码编辑器的功能和强大的 AI 辅助编程技术。以下是关于 Cursor 的主要特点和功能的介绍:

  1. 智能代码补全 Cursor 通过 AI 模型(如 OpenAI 的 GPT 系列)提供智能代码补全功能。 它能够理解代码上下文并提供精确的代码建议,减少开发者的输入量。 不仅适用于简单的语法补全,还可以帮助完成复杂的函数、算法或逻辑。
  2. 代码生成 开发者可以用自然语言描述需求,Cursor 能自动生成对应的代码段。 适用于创建模板代码、处理繁琐的重复性任务,以及快速实现原型。
  3. 错误检测与调试 内置 AI 功能能够实时检测代码中的错误,并提供详细的分析和修复建议。 调试过程中,Cursor 可以帮助定位问题的根本原因,优化调试效率。
  4. 文档生成 Cursor 可以自动生成代码文档,包括函数注释、接口描述和类说明等。 这种功能特别适用于提高代码可读性和团队协作效率。
  5. 多语言支持 支持多种编程语言(如 Python、JavaScript、Java、C++ 等),能够适应不同开发场景。 它可以根据语言特性提供定制化的建议和功能。
  6. 版本控制集成 支持与常见版本控制系统(如 Git)集成,方便开发者在项目管理中应用 AI 辅助功能。

cursor官网:https://www.cursor.com/

六、下载cursor

cursors是基于VSCODE进行扩展的,需要先下载VSCODE。这里我就跳过下载过程了

接下来,官网下载好cursor

点击右下角,Install cursor,安装命令行命令。 登录 像打开vscode一样打开。我这里打开了一个之前的项目给大家展示用。 更改下菜单栏位置。ctrl+shift+P,输入settings。找到VScode Settings。

七、解决cursor快捷键冲突

cursor的快捷键可能与电脑其它快捷键冲突,这一节我们来重点解决下这个问题。点左下角齿轮就好。

相关推荐
Penge6661 小时前
Go 接口编译期断言
后端
我是一颗柠檬1 小时前
【MySQL全面教学】MySQL面试高频考点汇总Day15(2026年)
数据库·后端·mysql·面试
橙淮2 小时前
并发编程(六)
java·jvm
拽着尾巴的鱼儿2 小时前
springboot openfeign 自定义feign 接口重试机制
java·spring boot·后端
白露与泡影2 小时前
2026大厂Java面试题大全!牛客网最新版
java·开发语言
Ceelog2 小时前
久坐党自救指南:屏幕前 8 小时,身体到底在经历什么
前端·后端
EntyIU3 小时前
JVM内存与GC笔记
java·jvm·笔记
XS0301063 小时前
并发编程 六
java·后端
yaoxin5211233 小时前
419. 现代 Java IO 最佳实践 - 写入文本文件
java·windows·python
雪宫街道3 小时前
synchronized 锁的范围:对象锁、类锁与代码块锁
java·jvm·后端·面试