本文主要针对博主2018毕业至2023参与软件开发4年多以来自建的三个开源项目进行介绍与分享,希望对看到本文的新入行的初中级开发者或者未毕业想入行的学生们能够起到帮助。下面是项目介绍
一、newbee-mall-pro
newbee-mall-pro
是博主在2019年想要自建PC商城项目时,在 newbee-mall 项目的基础上使用 mybatis-plus
作为 orm 层框架,经过改造升级而来,维护至今。项目也由最初的 Spring Boot2.0
版本升级到 Spring Boot3.0
版本,一路走来给加了不少新功能,算是博主对于商城项目的完整实践,对于新技术也都是运用到这个项目来先行试水。博主开源至今 star 数量最多项目就是这个?
1.1 功能特点
- RedisSearch:支持中文分词搜索,支持商品名称、简介、标签作为搜索项,以及新品、价格排序, 详情可见:更新日志
- 秒杀专区:支持功能完备,生产可用的高级秒杀功能,详情可见:更新日志
- 优惠券专区:支持优惠券后台配置、用户注册赠券、下单页面优惠券使用等功能
- 商城首页使用滑块验证码登录 详情可见:更新日志
- 支付时添加了支付宝沙箱支付
- 集成Pace页面,添加网页进度条
- 添加Spring事件监听机制,解耦下单流程
- 集成spring-session-redis,支持分布式部署
- 本项目秉持原作者简单易用的原则,代码书写清晰,注释完整,便于新人理解,快速上手
- 多数据源配置在Springboot2.7分支,通过jta和seata支持分布式事务
- 项目源码:https://github.com/wayn111/newbee-mall-pro
- 在线地址:http://121.4.124.33/newbeemall
1.2 项目评价
通过本项目,除了能学到商城会员、首页配置、商品、搜索、下单、购物车等基本模块功能设计后,还能学到更高级的秒杀、优惠券专区、商城搜索中文分词、滑块验证码等,总的来说该项目麻雀虽小,但是五脏俱全,认真看完你一定有所收获。
二、crowd-admin
crowd-admin
是博主在2018年刚毕业那会,刚参加工作时对开发的后台oa、进销存等管理系统的工作进行复盘后,想要自己开发一个包含rbac权限管理、消息推送功能的后台管理系统。刚开始工作时,博主公司项目框架还是SSM + Shiro + JSP
,于是 crowd-admin
这个项目刚建立也是基于 SSM + Shiro + JSP
。到2023年 Spring Boot3.0
都发布了,博主也是终于在去年将老的 Spring4.0
版本升级到了 Spring Boot2.7
,原本想一鼓作气升级到 Spring Boot3.0
,但是 Shiro
一直没有发布 Spring Boot3.0
版本,所以博主也是升不上去了?
2.1 功能特点
- 前后端支持stomp高级协议,完善的websocket配置,支持消息推送、自定义用户认证、连接周期监听等
- 支持系统参数配置,支持Spring的@Cacheable注解
- 项目按功能模块化拆分,自定义全局统一异常输出,代码清晰合理
- 集成elfinder模块,包含完整的文件管理操作,包含文件上传、删除、压缩、移动、预览等诸多操作
- 支持后台消息/邮件推送、数据字典、系统参数配置、各模块操作日记记录
- 支持系统服务监控、在线用户监控、数据源监控等操作
- 支持redis/ehcache切换使用
- 支持ip2region本地化
- 支持多数据源操作
- 前端使用H+模板,样式美观,支持ajax下载文件,js代码简洁,清晰,避免过度封装
- 项目源码:https://github.com/wayn111/crowd-admin
- 在线地址:http://121.4.124.33/crowd/
2.2 项目评价
crowd-admin
是一个后台权限管理系统脚手架,集成了rbac权限管理、消息推送、邮件发送、任务调度、代码生成等常用功能,系统内各个业务按照模块划分,设计优良。是一个 Java 新人易于上手,学习之后能够掌握企业后台开发所需常用技能,快速融入实际企业开发的指导项目
三、waynboot-mall
waynboot-mall 时博主在2020开发而来,那时候网上很多的H5商城项目都是半开源版本,要么没有H5前端代码,要么需要加群咨询,属实恶心。于是博主决定自己开发一套完整的移动端H5商城,包含一个管理后台、一个前台H5商城、一个后台api接口、一个商城api接口。
- H5商城网页项目源码:https://github.com/wayn111/waynboot-mobile
- 运营后台网页项目源码:https://github.com/wayn111/waynboot-admin
- 商城前后台接口项目源码:https://github.com/wayn111/waynboot-mall
3.1 功能特点
- 商城接口代码清晰、注释完善、模块拆分合理
- 使用Spring-Security进行访问权限控制
- 使用jwt进行接口授权验证
- ORM层使用Mybatis Plus提升开发效率
- 添加全局异常处理器,统一异常处理
- 使用springboot admin进行服务监控
- 集成七牛云存储配置,上传文件至七牛
- 集成常用邮箱配置,方便发送邮件
- 添加策略模式使用示例,优化首页金刚区跳转逻辑
- 拆分出通用的数据访问模块,统一redis & elastic配置与访问
- 使用elasticsearch-rest-high-level-client客户端对elasticsearch进行操作
- 支持商品数据同步elasticsearch操作以及elasticsearch商品搜索
- RabbitMQ生产者发送消息采用异步confirm模式,消费者消费消息时需手动确认
- 下单处理过程引入rabbitMQ,异步生成订单记录,提高系统下单处理能力
- 在线地址:http://121.4.124.33/mall
3.2 项目评价
waynboot-mall
是一套全部开源的微商城项目,包含一个运营后台、H5商城和后台接口。 实现了一个商城所需的首页展示、商品分类、商品详情、sku详情、商品搜索、加入购物车、结算下单、订单状态流转、商品评论等一系列功能。 技术上基于最新得Springboot3.0、jdk17,整合了Redis、RabbitMQ、ElasticSearch等常用中间件, 贴近生产环境实际经验开发而来不断完善、优化、改进中。作为博主的开源项目集大成者,看完这个项目一定能受益匪浅!