javascript
毕设/私活/兼职必备,一个挣钱的开源【SpringBoot+Spring Security+MyBatis Plus】脚手架
🍅 作者主頁:Java李楊勇?
🍅 簡介:Java領域優質創作者🏆、Java李楊勇公號作者? ?簡歷模板、學習資料、面試題庫、技術互助【關注我,都給你】
🍅 歡迎點贊 👍 收藏 ?留言 📝 ??
前言:
? ? ? ?前段時間也和大家分享了一個關于Springboot+vue的前后端分享的腳手架、最近剛好有同學找到我叫我幫他做一個簡單的酒莊管理系統、于是就找到個這個開源框架來試試看、這是個什么項目呢,它就是是集SpringBoot、MyBatis、Shiro于一體的標準項目框架、讓我們解放雙手 ? 從現在開始看一下吧。不管是用來學習技術還是接私活/畢設/兼職掙錢、都是非常不錯的喲、建議大家收藏起來、文末我把源碼給大家。
? ? ? ??這豈不是太簡單了 分分鐘就能做好的嗎、哈哈、不說廢話了、今天就給大家演示一下利用一個開源框架寫一個吧
這個開源項目主要特點:
- 這個框架采用SpringBoot、MyBatis、Shiro框架,開發的一套權限系統,極低門檻,拿來即用。設計之初,也非常注重安全性,為自己做學習使用以及簡單企業系統都是可以的,讓我們的開發變得很簡單。
- 靈活的權限控制,可控制到頁面或按鈕,滿足絕大部分的權限需求、根據管理員靈活控制權限
- 完善的部門管理及數據權限,通過注解實現數據權限的控制、具體到前端后代碼
- 完善的XSS防范及腳本過濾,徹底杜絕XSS攻擊
- 支持MySQL、Oracle、SQL Server、PostgreSQL等主流數據庫
- 后期推薦進行云服務器進行部署項目
內置功能模板:
用戶管理:用戶是系統操作者,該功能主要完成系統用戶配置。
部門管理:配置系統組織機構(公司、部門、小組),樹結構展現支持數據權限。
崗位管理:配置系統用戶所屬擔任職務。
菜單管理:配置系統菜單,操作權限,按鈕權限標識等。
角色管理:角色菜單權限分配、設置角色按機構進行數據范圍權限劃分。
字典管理:對系統中經常使用的一些較為固定的數據進行維護。
參數管理:對系統動態配置常用參數。
通知公告:系統通知公告信息發布維護。
操作日志:系統正常操作日志記錄和查詢;系統異常信息日志記錄和查詢。
登錄日志:系統登錄日志記錄查詢包含登錄異常。
在線用戶:當前系統中活躍用戶狀態監控。
定時任務:在線(添加、修改、刪除)任務調度包含執行結果日志。
代碼生成:前后端代碼的生成(java、html、xml、sql)支持CRUD下載 。
系統接口:根據業務代碼自動生成相關的api接口文檔。
服務監控:監視當前系統CPU、內存、磁盤、堆棧等相關信息。
緩存監控:對系統的緩存信息查詢,命令統計等。
在線構建器:拖動表單元素生成相應的HTML代碼。
連接池監視:監視當期系統數據庫連接池狀態,可進行分析SQL找出系統性能瓶頸。
?
項目介紹:
?項目實際分為4個模塊:
- renren-common為公共模塊,其他模塊以jar包的形式引入進去,主要提供些工具類,以及renren-admin、renren-api模塊公共的entity、mapper、dao、service服務,防止一個功能重復多次編寫代碼。
- renren-admin為后臺模塊,也是系統的核心,用來開發后臺管理系統,可以打包成jar,部署到服務器上運行,或者打包成war,放到Tomcat8.5+容器里運行。
- renren-api為接口模塊,主要是簡化APP開發,如:為微信小程序、IOS、Android提供接口,擁有一套單獨的用戶體系,沒有與renren-admin用戶表共用,因為renren-admin用戶表里存放的是企業內部人員賬號,具有后臺管理員權限,可以登錄后臺管理系統,而renren-api用戶表里存放的是我們的真實用戶,不具備登錄后臺管理系統的權限。renren-api主要是實現了用戶注冊、登錄、接口權限認證、獲取登錄用戶等功能,為APP接口的安全調用,提供一套優雅的解決方案,從而簡化APP接口開發。
- renren-generator為代碼生成器模塊,只需在MySQL數據庫里,創建好表結構,就可以生成新增、修改、刪除、查詢、導出等操作的代碼,包括entity、mapper、dao、service、controller、頁面等所有代碼,項目開發神器。
? ?這邊由于我個人沒有用到api/微信小程序、IOS、Android提供接口的業務以及generator代碼生成器模塊 、所以可以根據實際情況刪除和添加模塊
本地部署項目:
?下載地址:
git clone https://gitee.com/renrenio/renren-security.git- 環境要求JDK1.8、Tomcat8.5+、MySQL5.5+
- 通過git,下載renren-security源碼,如下:
- 創建數據庫 renren_security ,數據庫編碼為 UTF-8
- 執行數據庫腳本,如MySQL數據庫,則執行 db/mysql.sql 文件,初始化數據
- 修改application-dev.yml,更改數據庫賬號和密碼
?設置攔截放行:
?靜態資源文件以及登錄和swagger-ui接口文檔等設置放行
@Bean("shiroFilter")public ShiroFilterFactoryBean shiroFilter(SecurityManager securityManager) {ShiroFilterFactoryBean shiroFilter = new ShiroFilterFactoryBean();shiroFilter.setSecurityManager(securityManager);shiroFilter.setLoginUrl("/login.html");shiroFilter.setUnauthorizedUrl("/");Map<String, String> filterMap = new LinkedHashMap<>();filterMap.put("/swagger/**", "anon");filterMap.put("/v2/api-docs", "anon");filterMap.put("/swagger-ui.html", "anon");filterMap.put("/webjars/**", "anon");filterMap.put("/swagger-resources/**", "anon");filterMap.put("/statics/**", "anon");filterMap.put("/login.html", "anon");filterMap.put("/sys/login", "anon");filterMap.put("/favicon.ico", "anon");filterMap.put("/captcha.jpg", "anon");filterMap.put("/**", "authc");shiroFilter.setFilterChainDefinitionMap(filterMap);return shiroFilter;}項目啟動:?
- 運行io.renren.AdminApplication.java的main方法,則可啟動renren-admin項目
- 項目訪問路徑:http://localhost:8080/renren-admin
- 賬號密碼:admin/admin
- Swagger路徑:http://localhost:8080/renren-admin/swagger/index.html
- Swagger注解路徑:http://localhost:8080/renren-admin/swagger-ui.html
這是稍微經過改造之后的樣子
改造前:
改造后:
加一些業務表和刪除隱藏掉一些不必要的功能模塊
?核心技術:
SpringBoot框架
? ?Spring Boot是一款開箱即用框架,提供各種默認配置來簡化項目配置。讓我們的Spring應用變的更輕量化、更快的入門。 在主程序執行main函數就可以運行。你也可以打包你的應用為jar并通過使用java -jar來運行你的Web應用。它遵循"約定優先于配置"的原則, 使用SpringBoot只需很少的配置,大部分的時候直接使用默認的配置即可。同時可以與Spring Cloud的微服務無縫結合。
Spring Boot2.x版本環境要求必須是jdk8或以上版本,服務器Tomcat8或以上版本
優點
- 使編碼變得簡單: 推薦使用注解。
- 使配置變得簡單: 自動配置、快速集成新技術能力 沒有冗余代碼生成和XML配置的要求
- 使部署變得簡單: 內嵌Tomcat、Jetty、Undertow等web容器,無需以war包形式部署
- 使監控變得簡單: 提供運行時的應用監控
- 使集成變得簡單: 對主流開發框架的無配置集成。
- 使開發變得簡單: 極大地提高了開發快速構建項目、部署效率。
Spring Security安全控制
1、介紹
Spring Security是一個能夠為基于Spring的企業應用系統提供聲明式的安全訪問控制解決方案的安全框架。
2、功能
Authentication?認證,就是用戶登錄
Authorization?授權,判斷用戶擁有什么權限,可以訪問什么資源
安全防護,跨站腳本攻擊,session攻擊等
非常容易結合Spring進行使用
3、Spring Security與Shiro的區別
相同點
1、認證功能? 2、授權功能? 3、加密功能
4、會話管理? 5、緩存支持? 6、rememberMe功能
不同點
優點:
1、Spring Security基于Spring開發,項目如果使用Spring作為基礎,配合Spring Security做權限更加方便。而Shiro需要和Spring進行整合開發
2、Spring Security功能比Shiro更加豐富,例如安全防護方面
3、Spring Security社區資源相對比Shiro更加豐富
缺點:
1)Shiro的配置和使用比較簡單,Spring Security上手復雜些
2)Shiro依賴性低,不需要依賴任何框架和容器,可以獨立運行。Spring Security依賴Spring容器
? ? ? 今天推薦這個SpringBoot開源項目還是比較不錯的、項目是快速開發腳手架,代碼質量各方面的也還不錯、適合用來做自己學習技術或者或自己兼職私活接單都是可以的喲、喜歡的朋友點一個一健三聯支持下喲
獲取源碼:
總體來說這個開源項目功能相對還是比較優秀的、適合大家學習參考使用
打卡更新java文章 49 / 100 天、大家可以點贊、收藏、關注、評論我啦 、
查看博主主頁聯系或下方微信公眾號獲取更多喲
精彩專欄推薦:
Java畢設項目精品實戰案例《100套》
HTML5大作業實戰案例《100套》
總結
以上是生活随笔為你收集整理的毕设/私活/兼职必备,一个挣钱的开源【SpringBoot+Spring Security+MyBatis Plus】脚手架的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: creo外观库_Proe软件技巧,颜色库
- 下一篇: HTML+CSS+JS实现 ❤️520爱