Önsöz
Zheng projesi sadece bir geliştirme mimarisi değil, aynı zamanda ön uç şablonlar-temel çerçeve dağıtılmış mimari-açık kaynak projeleri-sürekli entegrasyon-otomatikleştirilmiş dağıtım-sistem izleme-sorunsuz yükseltmelerden eksiksiz bir J2EE kurumsal seviye geliştirme çözümleri yelpazesi oluşturmaya çalışıyor .
Proje Tanıtımı
Spring + SpringMVC + Mybatis dağıtılmış çevik geliştirme sistemi mimarisine dayalı olarak, eksiksiz bir genel mikro hizmet servis modülleri seti sağlar: içerik yönetimi, ödeme merkezi, kullanıcı yönetimi (üçüncü taraflar dahil), WeChat platformu, depolama sistemi, konfigürasyon merkezi, günlük analizi, görevler ve bildirimler Hizmet yönetişimini, izlemeyi ve izlemeyi desteklemek ve küçük ve orta ölçekli işletmeler için kapsamlı bir J2EE kurumsal düzeyde geliştirme çözümü oluşturmaya çalışmak.
Örgütsel yapı
zheng zheng-common - SSM çerçevesi ortak modülü zheng-admin - arka plan yönetimi şablonu zheng-ui - ön timeleaf şablonu zheng-config - Yapılandırma Merkezi zheng-upms - kullanıcı yetki yönetim sistemi | zheng-upms-common - upms sistemi ortak modülü | zheng-upms-dao - geliştirme olmadan kod oluşturma modülü | zheng-upms-client - Upms bağımlılık paketini entegre edin, tek noktadan kimlik doğrulama, yetkilendirme, birleşik oturum yönetimi sağlayın | zheng-upms-rpc-api - rpc arabirim paketi | zheng-upms-rpc-service - rpc servis sağlayıcı | zheng-upms-server - kullanıcı yetki sistemi ve SSO sunucusu zheng-cms - içerik yönetim sistemi | zheng-cms-common - cms sistemi ortak modülü | zheng-cms-dao - geliştirme olmadan kod oluşturma modülü | zheng-cms-rpc-api - rpc arabirim paketi | zheng-cms-rpc-service - rpc servis sağlayıcı | zheng-cms-search - arama hizmeti | zheng-cms-admin - arka plan yönetimi | zheng-cms-job - mesaj kuyruğu, görev zamanlaması vb. | zheng-cms-web - web sitesi ön büro zheng-pay - ödeme sistemi | zheng-pay-common - genel ödeme sistemi modülü | zheng-pay-dao - geliştirme olmadan kod üretme modülü | zheng-pay-rpc-api - rpc arayüz paketi | zheng-pay-rpc-service - rpc servis sağlayıcı | zheng-pay-sdk - geliştirme kiti | zheng-pay-admin - arka plan yönetimi | zheng-pay-web - Demo örneği zheng-ucenter - Kullanıcı sistemi (üçüncü taraf oturum açma dahil) | zheng-ucenter-common - ucenter system ortak modülü | zheng-ucenter-dao - geliştirme olmadan kod üretme modülü | zheng-ucenter-rpc-api - rpc arabirim paketi | zheng-ucenter-rpc-service - rpc servis sağlayıcı | zheng-ucenter-web - web sitesi ön büro zheng-wechat - WeChat sistemi | zheng-wechat-mp - WeChat Resmi Hesap Yönetim Sistemi | | zheng-wechat-mp-dao - geliştirme olmadan kod oluşturma modülü | | zheng-wechat-mp-hizmeti - iş mantığı | | zheng-wechat-mp-admin - arka plan yönetimi | zheng-ucenter-app - WeChat uygulaması arka planı zheng-api - API arayüz veri yolu sistemi | zheng-api-common - api sistemi ortak modülü | zheng-api-rpc-api - rpc arayüz paketi | zheng-api-rpc-service - rpc servis sağlayıcı | zheng-api-server - api sistem sunucusu zheng-oss - Nesne depolama sistemi | zheng-oss-sdk - geliştirme kiti | zheng-oss-web - ön uç arabirimi | zheng-oss-admin - arka plan yönetimi zheng-mesajı - Gerçek zamanlı bildirim sistemi | zheng-message-sdk - geliştirme kiti | zheng-ileti-sunucusu - sunucu | zheng-mesaj-istemcisi - istemci zheng-shop - e-ticaret sistemi zheng-demo - örnek modül (bazı örnek kodlar vb. Dahil) zheng-demo-rpc-api - rpc arayüz paketi zheng-demo-rpc-service - rpc servis sağlayıcı zheng-demo-web - demo örneğiTeknik seçim
Arka uç teknolojisi:
Teknik ad resmi web sitesi Spring Framework kapsayıcısı framework Shiro security Çerçeve oturumu Dağıtılmış Oturum Yönetimi çerçevesi .htmlMyBatis Generator kod oluşturma fiziksel sayfalama eklentisi veritabanı bağlantı havuzu https://github.com/alibaba/druidFluentValidator Doğrulama çerçevesi https://github.com/neoremind/fluent-validatorThymeleaf şablon motoru şablon motoru dağıtılmış koordinasyon hizmeti http: // zookeeper.apache.org/Dubbo dağıtılmış hizmet çerçevesi ve elastik iş dağıtılmış zamanlama çerçevesi https://github.com/dangdangdotcom/elastic-jobRedis dağıtılmış önbellek veritabanı https: // redis .io / Solr ve Elasticsearch Dağıtılmış tam metin arama motoru https://www.elastic.co/Quartz iş planlama çerçevesi İşlem içi önbellek çerçevesi Q mesaj kuyruğu gerçek zamanlı akış bilgi işlem çerçevesi dağıtılmış dosya sistemi https://github.com/happyfish100/fastdfsLog4J günlük bileşeni http: // günlük kaydı .apache.org / log4j / 1.2 / Swagger2 arayüz test çerçevesi dağıtılmış verimli kimlik üretimi ve Qiniu ve QcloudCOS bulut depolama https: // www.aliyun.com/product/oss/ https://www.qcloud.com/product/cosProtobuf ve json veri serileştirme https://github.com/google/protobufJenkins devam ediyor Entegrasyon aracı https://jenkins.io/index.htmlMaven proje yapım yönetimi gerçek zamanlı itme https://github.com/mrniko/netty-socketio
Ön uç teknolojisi:
Teknik ad resmi web sitesi jQuery kitaplığı ön uç çerçevesi veri tablosu yazı tipi simgesi yazı tipi simgesi https://github.com/zavoloklom/material-design-iconic-fontWaves tıklama efekti eklentisi https://github.com/fians/WaveszTree ağaç eklentisi seçme kutusu eklentisi https://github.com/select2/select2jquery-confirm açılır pencere eklentisi https://github.com/craftpip/jquery-confirmjQuery EasyUI, jQuery UI tabanlı Eklenti koleksiyonu http: //www.jeasyui.comReact arayüz oluşturma çerçevesi https://github.com/facebook/reactEditor.mdMarkdown editörü https://github.com/pandao/editor.mdzhengAdmin arka plan yönetim sistemi şablonu https: / /github.com/shuzheng/zhengAdminautoMail e-posta adresi otomatik tamamlama eklentisi https://github.com/shuzheng/autoMailzheng.jprogress.js İlerleme çubuğu eklentisi yükleniyor https://github.com/shuzheng/zheng.jprogress.jszheng.jtotop .js en üst eklentiye dönüyor https://github.com/shuzheng/zheng.jtotop.jssocket.io.js SocketIO eklentisi https://socket.io/
Mimari diyagram
Modül bağımlılığı
Modül tanıtımı
zheng-common
Spring + SpringMVC + Mybatis çerçevesi, genel yapılandırma, MybatisGenerator eklenti eklentileri, genel BaseService, araç sınıfları vb. Dahil olmak üzere genel modülleri entegre eder.
zheng-admin
Bootstrap tarafından uygulanan duyarlı Materyal Tasarımı stiline dayalı genel bir arka uç yönetim sistemi. Zheng projesinin tüm arka uç sistemleri, bu modül arayüzünü bir ön uç ekranı olarak kullanır.
zheng-ui
Her alt sistemin ön uç timeleaf şablonu ve ön uç kaynak modülü, dinamik ayırma sağlamak için nginx proxy kullanır.
zheng-upms
Bu sistem, RBAC yetkilendirmesine ve kullanıcı yetkilendirmesine dayalı ayrıntılı yetki kontrolüne dayalı genel bir platformdur ve tek oturum açma, oturum yönetimi ve günlük yönetimi sağlar. Bağlı sistem organizasyonu, rolleri, izinleri, kaynakları vb. Serbestçe tanımlayabilir. Kullanıcı izni = tüm rollerin ve izinlerin toplanması + kullanıcı artı izinler-kullanıcı azaltılmış izinler, öncelik: kullanıcı izinleri azaltıldı > Kullanıcı artı izinler > Rol İzinleri
zheng-oss
Dosya depolama sistemi dört çözüm sunar:
zheng-api
Çeşitli alt sistemlerin etkileşimli arabirimleri, açık arabirimler, şifreli arabirimlerin geliştirilmesi, arabirim belgeleri ve diğer hizmetler dahil olmak üzere birleşik standartlaştırılmış arabirimleri ve paketleme yanıt sonuçlarını ortaya çıkaran hizmet ağ geçidi Bu modül, imza doğrulamayı, kimlik doğrulamayı, yönlendirmeyi ve mevcut sınırlamayı destekleyebilir. , İzleme, hata toleransı, günlük ve diğer işlevler. örnek grafik:
zheng-cms
İçerik yönetim sistemi: Temel tek sayfa görüntüleme, menü yönetimi, sistem ayarları ve diğer işlevlerle birden çok etiketin, birden çok kategorinin ve güçlü yorumların içerik yönetimini destekler.
zheng-pay
zheng-ucenter
Evrensel kullanıcı yönetimi sistemi, en sık kullanılan kullanıcı kaydı, oturum açma, veri yönetimi, kişisel merkez, üçüncü taraf oturum açma ve diğer temel gereksinimleri gerçekleştirir ve genişletilmiş ikincil geliştirmeyi destekler.
zheng-wechat-mp
WeChat resmi hesap yönetimi platformu, resmi web sitesi arka plan otomatik yanıtlama, menü yönetimi, malzeme yönetimi, kullanıcı yönetimi ve toplu mesajlaşmanın temel işlevlerine ek olarak, QR kodu promosyonu, pazarlama etkinlikleri, mikrositeler, üyelik kartları, kuponlar vb. İçerir.
zheng-wechat-app
WeChat uygulaması arka planı
zheng-mesaj
Netty tabanlı gerçek zamanlı SocketIO itme sistemi. Ad alanı, ikili veri, SSL, ACK, vb. Gibi destek işlevleri.
Ortam oluşturma ("zheng ortam oluşturma ve sistem dağıtım belgesi.doc", QQ grubunda mevcuttur)
Geliştirme araçları:
Geliştirme ortamı:
Alet kurulumu
Sistem belgelerini oluşturmak ve dağıtmak için ortam (Yazar: asker, QQ grup paylaşımı indirilebilir)
İndir
Geliştirme kılavuzu:
Yerel ana bilgisayarı değiştirin
Derleme süreci
Zheng / pom.xml dosyasını maven ile derleyin ve kurun
Sırayı başlat (arka plan)
Çalışmaya hazır
zheng-upms
zheng-cms
zheng-oss
Geliştirme gösterimi (QQ grubunda "on dakikalık zheng on dakikalık video: kullanıma alma işleminden start.wmv'ye" kadar)
Dağıtım yöntemi (QQ grubunda "on dakikalık Zheng videosu: paketlemeden linux sunucu deployment.wmv'ye" var)
Çerçeve Sözleşmesi
Konfigürasyon üzerine konvansiyon (konfigürasyon üzerinden konvansiyon), bu çerçeve birçok programlama spesifikasyonunu kabul eder, aşağıdakiler tek tek listelenmiştir:
-Hizmet sınıfının "service" adlı bir pakette olması ve "CmsArticleServiceImpl" gibi "Service" ile bitmesi gerekir - Denetleyici sınıfının "controller" ile biten pakette olması gerekir, sınıf adı "CmsArticleController.java" gibi Controller ile biter ve "BaseController" ı miras alır -Yay görev sınıfının "task" adlı bir pakette olması ve "TestTask.java" gibi "Task" ile bitmesi gerekir -mapper.xml, "mapper" adlı bir pakette olması gereken ve "Mapper.xml" ile biten "CmsArticleMapper.xml" -Mapper arayüzünün "mapper" adlı bir pakette olması ve "CmsArticleMapper.java" gibi "Mapper" ile bitmesi gerekir -Model varlık sınıfının "model" adlı pakette olması gerekir ve adlandırma kuralı, "CmsArticle.java" gibi veri tablosundan deve durumu kuralına kadardır. -Spring yapılandırma dosyası, adlandırma kuralı "applicationContext - *. Xml" şeklindedir. -Sınıf adı: ilk harf büyük deve durumu kuralı; yöntem adı: ilk harf küçük deve durumu kuralı; sabit: tümü büyük harf; değişken: ilk harf küçük harf deve durumu kuralı, kısaltılmamaya çalışın Springmvc yapılandırması, ilgili modülün `springMVC-servlet.xml` dosyasına eklendi -Yapılandırma dosyasını `src / main / resources` dizinine yerleştirin Statik kaynak dosyalarını `src / main / webapp / resources` dizinine yerleştirin -jsp dosyası, `/ WEB-INF / jsp` dizininde olmalıdır -``RequestMapping ("/ manage") "," return "/ manage / index" `gibi," RequestMapping "ve fiziksel yolu döndüren url'ye tam yolu yazmaya çalışın -`RequestMapping` belirtilen yöntem -Modül, "zheng-cms-admin" gibi "proje"-"alt proje"-"işletme" olarak adlandırılır -Veri tablosunun adı: "Subsystem`_`Table`, örneğin" cms_article " -Daha fazla özellik, referans