重构谷粒商城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的快捷键可能与电脑其它快捷键冲突,这一节我们来重点解决下这个问题。点左下角齿轮就好。

相关推荐
吴天德少侠4 分钟前
设计模式中的关联和依赖区别
java·开发语言·设计模式
道友老李8 分钟前
【Java】多线程和高并发编程(三):锁(下)深入ReentrantReadWriteLock
java·系统架构
geovindu1 小时前
java: framework from BLL、DAL、IDAL、MODEL、Factory using postgresql 17.0
java·开发语言·postgresql
缘来是黎1 小时前
Python 进阶:生成器与上下文管理器
java·前端·python
m0_748240251 小时前
【Spring Boot】统一数据返回
java·spring boot·后端
陈老师还在写代码2 小时前
介绍下SpringBoot常用的依赖项
java·spring boot·后端
程序猿零零漆2 小时前
《从入门到精通:蓝桥杯编程大赛知识点全攻略》(十一)-回文日期、移动距离、日期问题
java·算法·蓝桥杯
007php0072 小时前
Docker、Ollama、Dify 及 DeepSeek 安装配置与搭建企业级本地私有化知识库实践
运维·服务器·开发语言·后端·docker·容器·云计算
众乐乐_20082 小时前
JVM栈帧中|局部变量表、操作数栈、动态链接各自的任务是什么?
java·开发语言·jvm
魏翾蒨2 小时前
VBA语言的数据可视化
开发语言·后端·golang