毕设/私活/必备,一个挣钱的标准开源前后端分离【springboot+vue+redis+Spring Security】脚手架--若依框架
前言:
今天和大家分享一個是一個開源接私活/畢設(shè)/兼職掙錢的java前后端分離的開源項目,用了一小時左右把源碼下載跑了一下、感覺還不錯,中間運行前端代碼的時候遇到一些小問題、根據(jù)錯誤提示也很快解決了、這是個什么項目呢,它是集SpringBoot+Spring Security+redis+shiro+vue于一體的標準項目框架、解放雙手 ? 從現(xiàn)在開始。
文末獲取各種源碼聯(lián)系方式
? ? ?我看了下整個項目不涉及任何具體業(yè)務(wù)場景,只配置了一些常用功能,如:權(quán)限管理,用戶管理,菜單管理等,外加redis中間件,以及很多好用的工具類(RedisUtil,Id生成器,Security權(quán)限控制等等),可以說是即拿即用,擴展性也非常強,下面就就進入主題具體介紹下這個前后端分離的開源項目吧。
? ? ?官網(wǎng)是這樣介紹的:若依開源框架是一個 Java EE 企業(yè)級快速開發(fā)平臺,基于經(jīng)典技術(shù)組合(Spring Boot、Spring Security、MyBatis、Jwt、Vue),內(nèi)置模塊如:部門管理、角色用戶、菜單及按鈕授權(quán)、數(shù)據(jù)權(quán)限、系統(tǒng)參數(shù)、日志管理、代碼生成等。在線定時任務(wù)配置;支持集群,支持多數(shù)據(jù)源,支持分布式事務(wù)。
主要特性功能:
- 完全響應(yīng)式布局(支持電腦、平板、手機等所有主流設(shè)備)
- 強大的一鍵生成功能(包括控制器、模型、視圖、菜單等)
- 支持多數(shù)據(jù)源,簡單配置即可實現(xiàn)切換。
- 支持按鈕及數(shù)據(jù)權(quán)限,可自定義部門數(shù)據(jù)權(quán)限。
- 對常用js插件進行二次封裝,使js代碼變得簡潔,更加易維護
- 完善的XSS防范及腳本過濾,徹底杜絕XSS攻擊
- Maven多項目依賴,模塊及插件分項目,盡量松耦合,方便模塊升級、增減模塊。
- 國際化支持,服務(wù)端及客戶端支持
- 完善的日志記錄體系簡單注解即可實現(xiàn)
- 支持服務(wù)監(jiān)控,數(shù)據(jù)監(jiān)控,緩存監(jiān)控功能。
內(nèi)置功能模板:
- 用戶管理:用戶是系統(tǒng)操作者,該功能主要完成系統(tǒng)用戶配置。
- 部門管理:配置系統(tǒng)組織機構(gòu)(公司、部門、小組),樹結(jié)構(gòu)展現(xiàn)支持數(shù)據(jù)權(quán)限。
- 崗位管理:配置系統(tǒng)用戶所屬擔(dān)任職務(wù)。
- 菜單管理:配置系統(tǒng)菜單,操作權(quán)限,按鈕權(quán)限標識等。
- 角色管理:角色菜單權(quán)限分配、設(shè)置角色按機構(gòu)進行數(shù)據(jù)范圍權(quán)限劃分。
- 字典管理:對系統(tǒng)中經(jīng)常使用的一些較為固定的數(shù)據(jù)進行維護。
- 參數(shù)管理:對系統(tǒng)動態(tài)配置常用參數(shù)。
- 通知公告:系統(tǒng)通知公告信息發(fā)布維護。
- 操作日志:系統(tǒng)正常操作日志記錄和查詢;系統(tǒng)異常信息日志記錄和查詢。
- 登錄日志:系統(tǒng)登錄日志記錄查詢包含登錄異常。
- 在線用戶:當前系統(tǒng)中活躍用戶狀態(tài)監(jiān)控。
- 定時任務(wù):在線(添加、修改、刪除)任務(wù)調(diào)度包含執(zhí)行結(jié)果日志。
- 代碼生成:前后端代碼的生成(java、html、xml、sql)支持CRUD下載 。
- 系統(tǒng)接口:根據(jù)業(yè)務(wù)代碼自動生成相關(guān)的api接口文檔。
- 服務(wù)監(jiān)控:監(jiān)視當前系統(tǒng)CPU、內(nèi)存、磁盤、堆棧等相關(guān)信息。
- 緩存監(jiān)控:對系統(tǒng)的緩存信息查詢,命令統(tǒng)計等。
- 在線構(gòu)建器:拖動表單元素生成相應(yīng)的HTML代碼。
- 連接池監(jiān)視:監(jiān)視當期系統(tǒng)數(shù)據(jù)庫連接池狀態(tài),可進行分析SQL找出系統(tǒng)性能瓶頸。
本地運行系統(tǒng):
可以去Gitee下載項目、百度網(wǎng)頁搜索若依框架就是了、很多同學(xué)應(yīng)該都知道
然后導(dǎo)入項目到idea或自己的開發(fā)工具里面、下載最基本的依賴環(huán)境、jar等
后端運行:?
1.創(chuàng)建數(shù)據(jù)庫ry-vue并導(dǎo)入數(shù)據(jù)腳本ry_2021xxxx.sql,quartz.sql
3、打開項目運行com.ruoyi.RuoYiApplication.java,出現(xiàn)如下圖表示啟動成功。
這樣后端就啟動了?
前端運行:
這個版本的前端也在這個里面、進入ruoyi-ui模塊
# 安裝依賴 npm install# 強烈建議不要用直接使用 cnpm 安裝,會有各種詭異的 bug,可以通過重新指定 registry 來解決 npm 安裝速度慢的問題。 npm install --registry=https://registry.npm.taobao.org# 本地開發(fā) 啟動項目 npm run dev必要配置:
- 修改數(shù)據(jù)庫連接,編輯resources目錄下的application-druid.yml
- 修改服務(wù)器配置,編輯resources目錄下的application.yml
啟動成功后輸入地址localhost:80訪問頁面、大功告成、快樂就這么簡單?
項目運行截圖:
登錄:
?這是進去后的一個主要功能模塊、是一個完整權(quán)限管理系統(tǒng)、用來做兼職、私活接單等是一個不錯的選擇。
首頁:
?菜單模塊:
用戶綁定角色、角色控制菜單權(quán)限顯示
部門模塊:
通知公告:
日志管理:
項目文件結(jié)構(gòu):
后端結(jié)構(gòu):
com.ruoyi ├── common // 工具類 │ └── annotation // 自定義注解 │ └── config // 全局配置 │ └── constant // 通用常量 │ └── core // 核心控制 │ └── enums // 通用枚舉 │ └── exception // 通用異常 │ └── filter // 過濾器處理 │ └── utils // 通用類處理 ├── framework // 框架核心 │ └── aspectj // 注解實現(xiàn) │ └── config // 系統(tǒng)配置 │ └── datasource // 數(shù)據(jù)權(quán)限 │ └── interceptor // 攔截器 │ └── manager // 異步處理 │ └── security // 權(quán)限控制 │ └── web // 前端控制 ├── ruoyi-generator // 代碼生成(可移除) ├── ruoyi-quartz // 定時任務(wù)(可移除) ├── ruoyi-system // 系統(tǒng)代碼 ├── ruoyi-admin // 后臺服務(wù) ├── ruoyi-xxxxxx // 其他模塊前端結(jié)構(gòu):
├── build // 構(gòu)建相關(guān) ├── bin // 執(zhí)行腳本 ├── public // 公共文件 │ ├── favicon.ico // favicon圖標 │ └── index.html // html模板 │ └── robots.txt // 反爬蟲 ├── src // 源代碼 │ ├── api // 所有請求 │ ├── assets // 主題 字體等靜態(tài)資源 │ ├── components // 全局公用組件 │ ├── directive // 全局指令 │ ├── layout // 布局 │ ├── router // 路由 │ ├── store // 全局 store管理 │ ├── utils // 全局公用方法 │ ├── views // view │ ├── App.vue // 入口頁面 │ ├── main.js // 入口 加載組件 初始化等 │ ├── permission.js // 權(quán)限管理 │ └── settings.js // 系統(tǒng)配置 ├── .editorconfig // 編碼格式 ├── .env.development // 開發(fā)環(huán)境配置 ├── .env.production // 生產(chǎn)環(huán)境配置 ├── .env.staging // 測試環(huán)境配置 ├── .eslintignore // 忽略語法檢查 ├── .eslintrc.js // eslint 配置項 ├── .gitignore // git 忽略項 ├── babel.config.js // babel.config.js ├── package.json // package.json └── vue.config.js // vue.config.js核心技術(shù)
后端技術(shù)
SpringBoot框架
1、介紹
Spring Boot是一款開箱即用框架,提供各種默認配置來簡化項目配置。讓我們的Spring應(yīng)用變的更輕量化、更快的入門。 在主程序執(zhí)行main函數(shù)就可以運行。你也可以打包你的應(yīng)用為jar并通過使用java -jar來運行你的Web應(yīng)用。它遵循"約定優(yōu)先于配置"的原則, 使用SpringBoot只需很少的配置,大部分的時候直接使用默認的配置即可。同時可以與Spring Cloud的微服務(wù)無縫結(jié)合。
提示
Spring Boot2.x版本環(huán)境要求必須是jdk8或以上版本,服務(wù)器Tomcat8或以上版本
2、優(yōu)點
- 使編碼變得簡單: 推薦使用注解。
- 使配置變得簡單: 自動配置、快速集成新技術(shù)能力 沒有冗余代碼生成和XML配置的要求
- 使部署變得簡單: 內(nèi)嵌Tomcat、Jetty、Undertow等web容器,無需以war包形式部署
- 使監(jiān)控變得簡單: 提供運行時的應(yīng)用監(jiān)控
- 使集成變得簡單: 對主流開發(fā)框架的無配置集成。
- 使開發(fā)變得簡單: 極大地提高了開發(fā)快速構(gòu)建項目、部署效率。
Spring Security安全控制
1、介紹
Spring Security是一個能夠為基于Spring的企業(yè)應(yīng)用系統(tǒng)提供聲明式的安全訪問控制解決方案的安全框架。
2、功能
Authentication?認證,就是用戶登錄
Authorization?授權(quán),判斷用戶擁有什么權(quán)限,可以訪問什么資源
安全防護,跨站腳本攻擊,session攻擊等
非常容易結(jié)合Spring進行使用
3、Spring Security與Shiro的區(qū)別
相同點
1、認證功能
2、授權(quán)功能
3、加密功能
4、會話管理
5、緩存支持
6、rememberMe功能
....
不同點
優(yōu)點:
1、Spring Security基于Spring開發(fā),項目如果使用Spring作為基礎(chǔ),配合Spring Security做權(quán)限更加方便。而Shiro需要和Spring進行整合開發(fā)
2、Spring Security功能比Shiro更加豐富,例如安全防護方面
3、Spring Security社區(qū)資源相對比Shiro更加豐富
缺點:
1)Shiro的配置和使用比較簡單,Spring Security上手復(fù)雜些
2)Shiro依賴性低,不需要依賴任何框架和容器,可以獨立運行。Spring Security依賴Spring容器
前端技術(shù)
- npm:node.js的包管理工具,用于統(tǒng)一管理我們前端項目中需要用到的包、插件、工具、命令等,便于開發(fā)和維護。
- ES6:Javascript的新版本,ECMAScript6的簡稱。利用ES6我們可以簡化我們的JS代碼,同時利用其提供的強大功能來快速實現(xiàn)JS邏輯。
- vue-cli:Vue的腳手架工具,用于自動生成Vue項目的目錄及文件。
- vue-router: Vue提供的前端路由工具,利用其我們實現(xiàn)頁面的路由控制,局部刷新及按需加載,構(gòu)建單頁應(yīng)用,實現(xiàn)前后端分離。
- vuex:Vue提供的狀態(tài)管理工具,用于統(tǒng)一管理我們項目中各種數(shù)據(jù)的交互和重用,存儲我們需要用到數(shù)據(jù)對象。
- element-ui:基于MVVM框架Vue開源出來的一套前端ui組件。
今天推薦這個開源項目還是比較不錯的、項目是快速開發(fā)腳手架,代碼質(zhì)量各方面的也還不錯、適合用來做項目腳手架或自己私活接單以及練手來用、喜歡的朋友點一個一健三聯(lián)支持下喲
?精彩java畢設(shè)實戰(zhàn)項目推送:
基于java ssm springboot+VUE疫情防疫系統(tǒng)系統(tǒng)前后端分離設(shè)計和實現(xiàn)
基于java+springboot+mybatis+laiyu實現(xiàn)學(xué)科競賽管理系統(tǒng)設(shè)計和實現(xiàn)
基于java springboot+mybatis電影售票網(wǎng)站管理系統(tǒng)前臺+后臺設(shè)計和實現(xiàn)
基于java ssm springboot+mybatis酒莊內(nèi)部管理系統(tǒng)設(shè)計和實現(xiàn)
基于JAVA springboot+mybatis智慧生活分享平臺設(shè)計和實現(xiàn)
基于Java springboot+vue+redis前后端分離家具商城平臺系統(tǒng)設(shè)計和實現(xiàn)
基于JAVA SSM springboot實現(xiàn)的抗疫物質(zhì)信息管理系統(tǒng)設(shè)計和實現(xiàn)
查看更多博主首頁更多實戰(zhàn)項目 >>>
獲取源碼:
總體來說這個項目功能相對還是比較簡單優(yōu)秀的、適合初學(xué)者作為課程設(shè)計和畢業(yè)設(shè)計參考?
查看博主主頁聯(lián)系或下方微信公眾號獲取更多~!
往前精彩分享:
Java畢設(shè)項目精品實戰(zhàn)案例《100套》
HTML5大作業(yè)實戰(zhàn)案例《100套》
總結(jié)
以上是生活随笔為你收集整理的毕设/私活/必备,一个挣钱的标准开源前后端分离【springboot+vue+redis+Spring Security】脚手架--若依框架的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 1 State Hook
- 下一篇: 前端面试之Vue相关总结