一款輕量級(jí),可快速上手的開源后臺(tái)系統(tǒng)
來源:www.cnblogs.com/funnyzpc/p/13777881.html
Preface
這是一個(gè)開放的時(shí)代,我們不能總是把東西揣在口袋里面自己樂呵。
也正如名言所說的“如果你有兩塊面包,你當(dāng)用其中一塊去換一朵水仙花”,所以,繼上一次把我的兩個(gè)個(gè)人項(xiàng)目開源之后今天我再一次把自有的后臺(tái)頁(yè)面也開源出來,以回饋整個(gè)開源世界。
項(xiàng)目結(jié)構(gòu)概述
mee-admin是由我的個(gè)人mee項(xiàng)目開源而來,mee-admin項(xiàng)目是一個(gè)前后端一體化的項(xiàng)目,不過在代碼上實(shí)現(xiàn)了頁(yè)面與數(shù)據(jù)分離,是一個(gè)非常好的 ?輕量級(jí)后端工程,所以在正式使用時(shí)您會(huì)發(fā)現(xiàn)主體業(yè)務(wù)部門均是采用json交互,前端頁(yè)面使用模板工具實(shí)現(xiàn)數(shù)據(jù)展現(xiàn)及編輯
與jeesite不一樣,我們不使用jsp+sitmesh+ehcache臃腫化項(xiàng)目
與Spring-Cloud-Platform xboot 不一樣,這里不使用vue iview 做前后端分離,也不使用springclooud做集群分布式
所以我的項(xiàng)目更加輕量級(jí),不需要裝node 不需要npm打包 需不要安裝nginx 同時(shí)也不需要編寫無聊的mapper接口,不需要單獨(dú)寫增刪改....
所以對(duì)于企業(yè)內(nèi)部需求開發(fā)更是無比的急速
同時(shí),mee-admin只需具有java后端以及一點(diǎn)點(diǎn)javascript開發(fā)能力,便可急速上手。搜索Java知音公眾號(hào),回復(fù)“后端面試”,送你一份Java面試題寶典.pdf
項(xiàng)目技術(shù)相關(guān)
使用 springboot 2.3.4.RELEASE作為基礎(chǔ)框架使用 mybatis作為dao框架使用 postgreSQL作為框架DB(可支持Mysql及Oracle)使用 shiro做權(quán)限管理使用 Freemarker做頁(yè)面模板使用 jquery插件作javascript基本擴(kuò)展庫(kù)使用目前只是一些組件依賴用,建議大多數(shù)情況下使用 ES5或ES6規(guī)范的javascript擴(kuò)展使用 handlebars做表單及數(shù)據(jù)模板使用 seajs做基礎(chǔ)模塊管理封裝了序列( ID)生成器(支持分布式)SeqGenServiceImpl序列生成器(支持分布式)SeqGenUtil普通序列生成器封裝了 Jackson的json庫(kù),完全可替代fastjson封裝了物理分頁(yè) PhysicalPageInterceptor及邏輯分頁(yè)LogicalPageIntercepter(兩個(gè)可任選其一),完全替代RowBounds及一眾分頁(yè)依賴封裝了 Excel及CSV工具ExcelReadUtilEXCEL讀工具ExcelWriteUtilEXCEL寫工具CSVUtilsCSV讀工具簡(jiǎn)單封裝了java8日期工具類 DateUtil
項(xiàng)目界面
登錄
主頁(yè)
報(bào)表
基礎(chǔ)配置
編輯及修改
系統(tǒng)配置
項(xiàng)目運(yùn)行及打包
本地項(xiàng)目運(yùn)行 run MeeApplicationand program arguments add--spring.profiles.active=dev注dev、test、prod均為pom.xml下配置的環(huán)境參數(shù) Fork mee-admingit clone mee-adminto localinit DB table use Idea IDE open project auto build dependency Idea start config 打包及Linux服務(wù)器構(gòu)建腳本,見mee-admin 必須安裝maven(方法請(qǐng)自行搜索引擎查找)
項(xiàng)目訪問
local: http://127.0.0.1/mee/loginserver: http://[Your DOMAIN or HOST+PORT]/mee/login
Notice
雖整個(gè)項(xiàng)目封裝的較為完整, 但是對(duì)于一些自定義的展示還是需要有一定的前端技能 作為補(bǔ)償,這里大致寫了功能開發(fā)流程[see:Function flow](#### Function flow),具體的還需要讀者具體學(xué)習(xí)哈~
Function flow
功能開發(fā)流程 添加mybatis SQL xml文件及映射實(shí)體類entity 編寫控制器controller及業(yè)務(wù)service代碼 編寫構(gòu)建前端頁(yè)面并添加菜單項(xiàng) 添加依賴js resources/public/module下后端添加權(quán)限標(biāo)識(shí) @RequiresPermissions("your_auth_code")前端(菜單和業(yè)務(wù)頁(yè)面)添加權(quán)限標(biāo)識(shí) <@shiro.hasPermission name="your_auth_code">@shiro.hasPermission>后臺(tái)添加菜單項(xiàng)目 后臺(tái)角色權(quán)限分配 js添加對(duì)話框或按鈕擴(kuò)展功能(這是難點(diǎn)!)
業(yè)務(wù)前端js采用模塊化依賴并封裝了表單著錄以及增刪改查相應(yīng)功能,十分便捷,目前對(duì)于擴(kuò)展功能(比如添加一個(gè)’重算‘) 需要自定義函數(shù)及相應(yīng)邏輯,具體流程大致如下
在search-form內(nèi)定義button控件(一定要有name屬性) 在依賴的js文件內(nèi)的init函數(shù)內(nèi)定義擴(kuò)展 toolbar:{ "控件屬性名": 屬性名對(duì)應(yīng)函數(shù) }編寫相應(yīng)函數(shù)邏輯
項(xiàng)目源碼文檔獲取
關(guān)注下面公眾號(hào)Java后端編程?,后臺(tái)回復(fù)"11"領(lǐng)取即可,無任何套路。
