最近在Github上有一个JavaTopic排行榜。该商场项目目前排名第9。很多小伙伴早就发现了。这里是地址:https://github.com/topics/java发展历程第一个20K+Star为什么写商城项目?打造商业与技术相结合的实用项目!2018年初,想找一个结合业务和技术的开源项目来学习,但是找不到合适的,于是萌生了自己写一个的想法。总觉得一个项目如果缺少业务和应用场景,就好像没有灵魂。所以业务选择了比较好理解的电商,技术选择了现在流行的SpringBoot。花了一年多的时间。2019年8月商城项目累积20K+StarSpringCloud系列教程。当项目发展到一定程度,总会寻找一些新的突破口,所以想把商城项目改成微服务版本。在Java体系中,SpringCloud已经基本成为微服务的标配。所以想先研究整套SpringCloud组件,再改造。在研究过程中,我写了一系列教程,涵盖了大规模部署核心组件的使用,就是springcloud-learning这个项目,目前已经获得了2.2K+Star。在mall-swarm微服务项目掌握了整套SpringCloud核心组件之后,接下来就是将mall项目微服务化。经过一段时间的打磨,mall-swarm项目于2019年12月发布了第一个版本。近期,mall-swarm项目又进行了一次大更新,升级为SpringCloudHoxton&Alibaba,使用Nacos替代原有的注册中心Eureka和配置中心SpringCloudConfig,并使用Oauth2替代原来的SpringSecurity。是最合理的SpringCloud技术栈。商场更新完善。商城项目今年更新了很多内容。这里是重点回顾!之前使用过的Linux部署方式主要有Docker和DockerCompose。后来加入了Jenkins自动部署,方便生产环境使用。很多小伙伴反映OSS对象存储费钱,于是加入了自建的MinIO对象存储方案。不过生产环境还是推荐使用OSS,毕竟服务器带宽还是很贵的!已经实现了需求量很大的权限管理功能。之前一直使用的基于注解的权限控制升级为动态权限控制,前后端皆可!产品SKU功能设计与优化,摒弃以往固化的设计,改为灵活的JSON存储。集成ELK日志采集系统,针对不同场景采用日志采集方案。适用于生产环境,查看日志更方便!近期升级了SpringBoot2.3.0,使用的各种技术版本焕然一新!Mall-tiny快速开发脚手架mall-tiny曾经是一个项目骨架,继承了mall完整的技术栈。感觉太依赖服务了,太复杂了。这次我重新定位为快速开发脚手架,简化复杂度,只保留最常用的依赖服务MySQL和Redis。而且实现了完整的权限管理功能,可以对接mall-admin-web前端项目,秒变权限管理系统!mall-admin-web前端项目mall-admin-web前端项目主要是增加了权限管理功能。这里提醒一下,mall、mall-swarm、mall-tiny项目都可以和这个项目无缝对接,是不是很常见?mall-learning学习项目mall-learning项目贯穿于整个mall项目的开发过程。它有一个完整的学习教程,这可能是商城项目与其他开源项目的一个很大的区别。商城-学习项目是专为商城项目打造的学习教程项目,包含丰富的文档和示例代码。我一直在使用这种方法来更新项目。先在mall-learning学习新技术,写相关教程,也算是持续的技术研究。如果技术合适,就会应用到商城项目中。我觉得这个方法还是很不错的。既深入学习新技术,又得到实际应用。您也可以在学习新技术时尝试使用它们。未来展望我觉得mall项目发展至今,不仅仅是一个开源项目,它已经发展出了自己的生态系统,可以称之为mall系列生态。商城项目后续会持续更新,努力打造更好的实用学习项目!项目地址、源码地址、教程合集
