mall: Ein E-Commerce-Gesamtsystem mit Storefront und Verwaltung auf Spring Boot
Mall项目是一套电商系统, 包括前台商城系统及后台管理系统, 基于Frühling Boot+MyBatis ist die neueste Version von Docker.前台商城系统包含首页门户、商品推荐、商品搜索、商品展示、购物车、订单流程、会员中心、客户服务、帮助中心等模块。后台管理系统包含商品管理、订单管理、会员管理、促销管理、运营管理、内容管理、统计报表、财务管理、权限管理、设置等模块。.
Auf einen Blick
- Was ist das?
- Ein Java-Projekt auf Basis von Spring Boot und MyBatis, das eine Storefront und ein Verwaltungssystem in einem Quellbaum vereint und per Docker ausgeliefert wird. Der Artikel ordnet Module, Zweige und Technikauswahl ein.
- Für wen ist es gedacht?
- mall eignet sich für Java-Entwickler, die eine vollständige E-Commerce-Referenz mit Storefront, Verwaltungssystem und dokumentiertem Aufbau studieren oder als Grundlage für eigene Systeme verwenden wollen. Für den direkten Produktionsbetrieb ist Vorsicht angebracht, weil die letzte Veröffentlichung v1.0.3 und der letzte Push des Repository aus März 2024 stammen und das README zu produktiven Einsätzen schwieg.
- Darf ich es kommerziell nutzen?
- Ja. Apache-2.0 ist eine freizügige Lizenz: Sie dürfen darauf aufbauende Software nutzen, verändern und verkaufen, solange Sie die Urheberrechts- und Lizenzhinweise beibehalten.
- Wird es noch gepflegt?
- Ja. Die letzten Commits kamen vor 1 Tag.
- In welcher Sprache ist es geschrieben?
- Hauptsächlich Java, laut der Sprachstatistik von GitHub.
Die Antworten beruhen auf den GitHub-Daten des Projekts (zuletzt abgeglichen am 15. September 2026) und auf unserer Analyse. Sie sind keine Rechtsberatung.
TIEFGEHENDE OPEN-SOURCE-ANALYSE
Storefront und Verwaltungssystem in einem Quellbaum
Das Repository beschreibt sich als vollständiges E-Commerce-System mit zwei Seiten: einem Frontshop und einem Verwaltungssystem, umgesetzt mit Spring Boot und MyBatis und abgeliefert als Docker-Container. Die Storefront führt Module wie Startportal, Produktempfehlung, Produktsuche, Produktdarstellung, Warenkorb, Bestellablauf, Mitgliederbereich, Kundenservice und Hilfecenter. Die Verwaltung gliedert sich in Produkt-, Bestell-, Mitglieder-, Aktions-, Betriebs-, Inhalts-, Statistik-, Finanz-, Berechtigungs- und Einstellungsmodule.
Die Projektbeschreibung betont den Anspruch, eine komplette Systemlandschaft mit aktueller Technik abzubilden. Wer ein einzelnes Modul oder eine reine Storefront sucht, bekommt hier mehr, als nur ein Baustein wäre: Beide Bereiche teilen sich denselben Quellbaum und dieselben Service-Strukturen.
Zwei Zweige mit unterschiedlichen Java-Stacks
Das README nennt zwei aktive Zweige mit unterschiedlichen Versionen. master läuft auf Spring Boot 3.5 mit JDK 17, dev-v2 auf Spring Boot 2.7 mit JDK 8. Diese Trennung ist für die Praxis nicht nebensächlich: Wer ein älteres JDK oder Spring-Boot-2.x-Projekte im Umfeld hat, findet auf dev-v2 einen passenden Stand, während master die aktuelle Linie abbildet.
Das README sagt nicht, welcher Zweig für den Betrieb empfohlen wird oder wie weit beide inhaltlich auseinanderliegen. Die Auswahl sollte man nach der eigenen Umgebung treffen und dann die jeweilige README-Version des Zweigs lesen, weil Dokumentation und Code hier projektüblich zusammengehören.
Sieben Module im Quellbaum und begleitende Repositories
Der Quellbaum gliedert sich in sieben Maven-Module. mall-common hält Hilfsklassen und gemeinsamen Code, mall-mbg enthält die von MyBatisGenerator erzeugten Datenbankzugriffe, mall-security kapselt Spring Security als gemeinsames Modul. mall-admin stellt die Schnittstellen des Verwaltungssystems, mall-portal die der Storefront, und mall-search realisiert die Produktsuche über Elasticsearch; mall-demo enthält Testcode aus der Aufbauphase des Frameworks.
Rund um das Projekt stehen weitere Repositories: mall-admin-web für die Verwaltungsoberfläche, mall-app-web für den Frontshop-Client und mall-swarm als Microservice-Variante auf Basis von Spring Cloud Alibaba. Dazu kommt mit mall-learning ein Begleitprojekt. Wer das System in Mikroservices zerlegt statt monolitisch betreiben will, findet diese Alternative explizit ausgewiesen, nicht nur als Idee.
Die Technikauswahl im Überblick
Die README dokumentiert die gestapelten Komponenten in Tabellen. Im Backend stehen Spring Boot, Spring Security, MyBatis mit MyBatisGenerator, Elasticsearch, RabbitMQ, Redis, MongoDB sowie Logstash und Kibana für Logs, dazu Nginx, Docker, Jenkins, Druid, Alibaba OSS und MinIO für Speicher, JWT, Lombok, Hutool, PageHelper, SpringDoc und Hibernator-Validator. Das Verwaltungs-Frontend setzt auf Vue mit Vue-router, Vuex, Element, Axios, v-charts, Js-cookie und nprogress.
Für Mobilgeräte sind Vue und Vuex mit uni-app, der E-Commerce-Vorlage mix-mall und der HTTP-Bibliothek luch-request aufgeführt. Die Tabelle zählt auf, sagt aber nicht, welche Dienste bei einer kleinen Installation zwingend sind. Ein Betrieb mit vollem Funktionsumfang setzt also mehrere Infrastrukturdienste voraus; das README benennt die Mindestkombination erst in den weiterführenden Bereitstellungsartikeln.
Demos und der Ort der Dokumentation
Zwei Online-Demos sind verlinkt: das Verwaltungssystem unter www.macrozheng.com/admin/index.html und der Frontshop unter www.macrozheng.com/app/, wobei das README empfiehlt, für die Vorschau den Browser in den Mobilmodus zu schalten. Die eigentliche Dokumentation liegt unter www.macrozheng.com und enthält nach README ein umfangreiches Lern-Tutorial sowie ein Video-Tutorial.
Für die Einrichtung nennt das README Entwicklungswerkzeuge wie IDEA, RedisDesktop, Robomongo, SwitchHosts, Navicat, Postman und weitere, gefolgt von verlinkten Anleitungen für Windows, Docker, Docker Compose und Jenkins-basierte Bereitstellung unter Linux. Die konkreten Kommandos stehen nicht im README selbst; man folgt den Artikeln auf der Dokumentationsseite. Damit ist ein Einstieg ohne diese Seiten kaum möglich.
Wartungszustand: Aktive Zweige, ruhende Veröffentlichungen
Das Repository ist nicht archiviert, aber der letzte Push liegt laut Metadaten am 1. März 2024, und die jüngste Veröffentlichung v1.0.3 trägt dasselbe Datum; davor erschienen v1.0.2 im Juni 2022 und v1.0.1 im August 2020. Der Versionsrhythmus zeigt also eine Pause nach 2024. Die Anzahl offener Issues ist mit 17 vergleichsweise klein, aber das README macht keine Aussage zur aktuellen Entwicklungsgeschwindigkeit.
Wer auf langfristig gepflegte Releases angewiesen ist, sollte diesen Zustand einplanen: Der Codebestand bleibt verfügbar und offen, aber die Entwicklung wirkt gedrosselt. Für Lernzwecke ist genau diese Stabilität ein Vorteil; für laufende Produktionsänderungen ein Kostenpunkt.
Apache-2.0 und die Grenzen der Lesbarkeit
Das Projekt steht unter der Apache-Lizenz 2.0. Diese permissive Lizenz erlaubt Vervielfältigung, abgeleitete Werke, Unterlizenzierung und Verbreitung sowie eine Patentlizenz für Beiträge, die bei berechtigten Streitigkeiten erlischt. Für ein Referenzsystem bedeutet das verhältnismäßig wenig Einschränkungen, solange der Lizenzhinweis erhalten bleibt; die Lizenz enthält keine Garantie- oder Support-Zusagen.
Nüchtern bleiben muss außerdem: Keine der Quellen belegt Produktionseinsätze, Lastzahlen oder Sicherheitszertifizierungen. Die README stellt das System als vollständig und nach aktuellem Standard gebaut dar, aber wer Betriebswerte braucht, findet sie nicht. Solche Aussagen müssten aus eigener Erfahrung oder veröffentlichten Fallberichten kommen, nicht aus dem README.
Redaktionelles Fazit
mall eignet sich für Java-Entwickler, die eine vollständige E-Commerce-Referenz mit Storefront, Verwaltungssystem und dokumentiertem Aufbau studieren oder als Grundlage für eigene Systeme verwenden wollen. Für den direkten Produktionsbetrieb ist Vorsicht angebracht, weil die letzte Veröffentlichung v1.0.3 und der letzte Push des Repository aus März 2024 stammen und das README zu produktiven Einsätzen schwieg. Vor der Übernahme sollte man den passenden Zweig wählen: master mit Spring Boot 3.5 und JDK 17 gegenüber dev-v2 mit Spring Boot 2.7 und JDK 8, und anschließend die Demoversion des Verwaltungssystems unter macrozheng.com sowie die Tutorial-Seiten des Projekts durchgehen.
Community-Notizen