UJCMS:一款基於SpringBoot的開源內容管理系統
UJCMS 是一款基於SpringBoot 開發的開源內容管理系統(Java CMS),旨在為開發者提供一個靈活、易用且功能強大的平台。它利用了SpringBoot、MyBatis、Shiro、Lucene、FreeMarker、TypeScript、Vue3、ElementPlus 等主流技術,並參考了Jspxcms 多年的開發經驗,針對原系統的一些痛點問題進行了優化和改進。
UJCMS 的技術亮點
UJCMS 在技術選項和架構設計上,始終秉持著「簡單」、「靈活」的原則,力求降低系統的維護成本和二次開發難度,為開發者提供更便捷的使用體驗。
1. 技術架構
持久化層: 使用MyBatis 取代Hibernate,簡化資料持久化操作,提升開發效率。
視圖層: 使用前後端分離的Vue3 取代JSP,實現更現代化的使用者介面設計,並提升使用者體驗。
資料庫: 重新設計資料庫架構,優化資料儲存和存取方式。
2. 功能亮點
UJCMS 提供了豐富的功能,涵蓋了內容管理系統的核心需求,並透過一些創新設計,提升了系統的靈活性和易用性:
1. 自訂字段
可查詢: 所有自訂欄位均可進行查詢,增強系統的彈性,滿足多樣化的內容管理需求。
視覺化設計: 提供拖曳式的視覺化設計介面,實現所見即所得的自訂欄位配置,簡化操作流程。
2. URL 位址SEO 優化
動態位址修改: 系統提供全域設定功能,方便使用者自訂欄位和文章的URL 位址前綴,提升SEO 最佳化效果。
多網站最佳化: 子網站的URL 位址不再採用www.example.com/site-abc 的形式,而是更友善的www.example.com/abc 形式,簡化使用者造訪路徑。
3. 清理垃圾附件
附件管理: 提供附件管理功能,方便使用者查看所有未使用的圖片和附件,並進行刪除操作,清理系統空間。
自動清理: 刪除文章後,系統會自動清理文章中未使用的圖片和附件,避免產生大量垃圾資料。
4. 附件、範本、索引檔案獨立部署
獨立目錄: 將系統運作時產生的檔案(如上傳的圖片和附件、前台範本、索引檔案) 部署到獨立的目錄,方便系統備份、升級和管理。
5. 範本檔案和CSS、JS 在同一目錄
方便管理: 將範本檔案和CSS、JS 放在同一目錄,簡化範本製作和部署流程,提高開發效率。
6. MyBatis 參數化查詢
靈活查詢: 透過前台傳遞查詢參數,即可實現任意欄位及關聯表的查詢功能,無需後台編寫程式碼,大幅減少後端開發工作量。
提升效率: 簡化查詢操作,提升開發效率。
7. 主副表拆分
提升效能: 將查詢量大的複雜表進行主副表拆分,把常用的查詢欄位放到主表,不常用的欄位放到副表,提升大資料量下的系統效能。
UJCMS 的環境要求
JDK 8
MySQL 5.7 (相容5.6、8.0)
Tomcat 8.5、9.0 (Servlet 3.1+)
Maven 3.5 或更高
系統後台相容的瀏覽器: Chrome、Firefox、Edge
前台頁面相容的瀏覽器取決於模板,使用者可以完全控制模板,理論上可以支援任何瀏覽器。演示模板支援IE10+(文庫功能除外)、Chrome、Firefox、Edge。
UJCMS 的安裝與啟動
1. 資料導入資料庫
建立資料庫: 使用MySQL 時,選擇utf8mb4 字元集(支援更多特殊字元如表情字元emoji,推薦)。
執行資料庫腳本: 資料庫腳本位於database 目錄下。
2. 啟動程序
導入Maven 專案: 在Eclipse 中導入Maven 項目,並等待從Maven 伺服器下載第三方jar 套件(如Spring)。
修改資料庫連線: 開啟/src/main/resources/application.propertis 文件,根據實際情況修改spring.datasource.url、spring.datasource.username、spring.datasource.password 的值。
啟動程式: 在Eclipse 中,以滑鼠右鍵點選專案名,選擇Run as - Java Application ,選擇Application - com.ujcms ,然後點選OK。
IntelliJ IDEA: 操作步驟與Eclipse 類似,在工程中找到com.ujcms.Application 類別並右鍵點擊,選擇Run 'Application' 。
3. 訪問地址
前台: http://localhost:8080/
後台: http://localhost:8080/cp/ (使用者名稱:admin,密碼:password)
注意: 後台前端基於Vue 3 開發,如要修改後台介面,請另外下載ujcms-cp 專案。
總結
UJCMS 是一款功能強大、靈活易用、效能優異的開源內容管理系統。它採用主流技術堆疊,並針對一些常見問題進行最佳化,旨在為開發者提供更便捷高效的開發和維護體驗。如果您需要一個可靠且易於擴展的CMS 平台,UJCMS 值得您的關注。