github項目位址:https://github.com/niaobulashi/niaobulashi
springboot學習位址:http://www.ityouknow.com/spring-boot.html
shiro學習位址:https://jinnianshilongnian.iteye.com/blog/2018398
線上示範位址:http://manage.niaobulashi.com
登入名和密碼:niaobulashi/niaobulashi
項目說明
- 采用SpringBoot、MyBatis、Shiro架構,開發的一套權限系統,極低門檻,拿來即用。設計之初,就非常注重安全性,為企業系統保駕護航,讓一切都變得如此簡單。
- 提供了代碼生成器,隻需編寫30%左右代碼,其餘的代碼交給系統自動生成,可快速完成開發任務
- 支援MySQL、Oracle、SQL Server、PostgreSQL等主流資料庫
項目結構
niaobulashi
├─niaobulashi-admin 管理背景
│ ├─db 資料庫SQL腳本
│ │
│ ├─modules 子產品
│ │ ├─job 定時任務
│ │ ├─oss 檔案存儲
│ │ └─sys 系統管理(核心)
│ │
│ └─resources
│ ├─mapper MyBatis檔案
│ ├─statics 靜态資源
│ ├─template 系統頁面
│ │ ├─modules 子產品頁面
│ │ ├─index.html AdminLTE主題風格(預設主題)
│ │ └─index1.html 主題風格
│ └─application.yml 全局配置檔案
├─niaobulashi-api API服務
├─niaobulashi-common 公共子產品
├─niaobulashi-dynamic-datasource 多資料源
├─niaobulashi-generator 代碼生成器
│ └─resources
│ ├─mapper MyBatis檔案
│ ├─template 代碼生成器模闆(可增加或修改相應模闆)
│ ├─application.yml 全局配置檔案
│ └─generator.properties 代碼生成器,配置檔案
│
項目子產品
- niaobulashi-common為公共子產品,其他子產品以jar包的形式引入進去,主要提供些工具類,以及renren-admin、renren-api子產品公共的entity、mapper、dao、service服務,防止一個功能重複多次編寫代碼。
- niaobulashi-admin為背景子產品,也是系統的核心,用來開發背景管理系統,可以打包成jar,部署到伺服器上運作,或者打包成war,放到Tomcat8.5+容器裡運作。
- niaobulashi-api為接口子產品,主要是簡化APP開發,如:為微信小程式、IOS、Android提供接口,擁有一套單獨的使用者體系,沒有與renren-admin使用者表共用,因為renren-admin使用者表裡存放的是企業内部人員賬号,具有背景管理者權限,可以登入背景管理系統,而renren-api使用者表裡存放的是我們的真實使用者,不具備登入背景管理系統的權限。renren-api主要是實作了使用者注冊、登入、接口權限認證、擷取登入使用者等功能,為APP接口的安全調用,提供一套優雅的解決方案,進而簡化APP接口開發。
- niaobulashi-generator為代碼生成器子產品,隻需在MySQL資料庫裡,建立好表結構,就可以生成新增、修改、删除、查詢、導出等操作的代碼,包括entity、mapper、dao、service、controller、頁面等所有代碼,項目開發神器。可以作為單獨的項目運作,我已經将這部分的子產品移植到了niaobulashi-admin
技術選型
核心架構:Spring Boot 2.1 安全架構:Apache Shiro 1.4 視圖架構:Spring MVC 5.0 持久層架構:MyBatis 3.5 定時器:Quartz 2.3 資料庫連接配接池:Druid 1.1 日志管理:SLF4J 1.7、Log4j 頁面互動:Vue2.x
軟體需求
- JDK12
- MySQL5.5+
- Maven3.0+
本地部署
- idea通過:https://github.com/niaobulashi/niaobulashi 進行clone到本地
- 在項目目錄:resources/db找到資料庫檔案,部署到本地
- 修改配置檔案application-test.yml,資料庫改為本地的使用者名和密碼
- 直接啟動,通路:localhost:8080
- 登入名和密碼:admin/admin
Linux部署
- 打包成jar,在主項目niaobulashi上進行打包,mvn clean install
- 會生成相應項目的jar包,放在Linux目标目錄下,執行java -jar 包名
運作可能會遇到的問題
- 啟動可能報錯,mysql嚴格區分大小寫,可能找不到表,解決方案:mysql不區分大小寫
- 沒有/tmp/spring.log目錄權限,解決方案:在root使用者下,添加寫權限sudo chmod 777 spring.log
- 登陸頁面的驗證碼顯示亂碼,原因:linux沒有安裝字型,解決方案:linux安裝字型
根據項目資訊截圖
ps:日報管理子產品沒有實際功能,隻是個菜單而已,後期進行維護
---
關于作者:
個人部落格:[鳥不拉屎](鳥不拉屎)
github首頁:[niaobulashi](niaobulashi - Overview)
github部落格:[鳥不拉屎](鳥不拉屎)
掘金:[鳥不拉屎](鳥不拉屎 的個人首頁 - 掘金)
部落格園:[鳥不拉屎](南嶼北島 - 部落格園)
知乎:[鳥不拉屎](知乎使用者)
微網誌:[胡浪同學](Sina Visitor System)
**公衆号**:鳥不拉屎
[1] http://manage.niaobulashi.com
[2] https://img2018.cnblogs.com/blog/1438593/201906/1438593-20190616153400635-1101498470.png
[3] https://img2018.cnblogs.com/blog/1438593/201906/1438593-20190616153421792-613530570.png
[4] https://img2018.cnblogs.com/blog/1438593/201906/1438593-20190616153453457-2123784717.png
[5] https://img2018.cnblogs.com/blog/1438593/201906/1438593-20190616153604556-1621950822.png
[6] https://img2018.cnblogs.com/blog/1438593/201906/1438593-20190616153515427-507006984.png
[7] https://img2018.cnblogs.com/blog/1438593/201906/1438593-20190616153724452-154266737.png