基于Spring Boot + Spring Security开发信息管理平台

news/2025/3/22 1:49:48

基于Spring Boot + Spring Security开发信息管理平台

一. 项目简介

1. 项目简介

    本项目采用Restful API 设计,即前后端分离,这也是当前比较流行的做法,在项目开发过程中,事先约定好API接口以及对应数据格式,使前后端之间可以最大限度减少对方的"依赖",提高开发效率.
    后端是基于Spring Boot框架搭建的信息管理系统,并整合Spring Security进行授权认证管理,数据访问层则采用Mybatis进行持久化,该项目使用maven进行项目工程管理.项目提供了信息管理平台最基本的用户管理以及动态菜单管理等功能.
    前端方面采用的vue.js + Element UI框架,由于本人主要做后端开发,在前端方面能力较渣,所以前端直接使用了由花裤衩开发的模板,在此基础上结合自己项目的业务进行修改,这位大大还写了一个非常详细的文档,非常值得学习.

2. 项目截图

  • 首页首页面板
  • 用户管理用户管理
  • 角色授权角色授权
  • 菜单管理菜单管理

二. 环境

1. 开发工具

  • 操作系统: Deepin
  • IDE: IntelliJ IDEA 、WebStorm
Deepin 深度操作系统是基于Ubuntu开发一款国产Linux操作系统,底层是Linux系统,同时基于DeepinWine技术,可以运行大量的Windows平台软件,像微信、QQ、TIM等都可以运行,这是其他Linux操作系统所没有的,界面也非常好看,用起来还是很顺心的,本项目是在Deepin系统上开发的.
IntelliJ IDEA 个人觉得比eclipse好用,比较坑的是这东西很占内存
Web Storm 是IntelliJ全家桶中前端开发的IDE,也很好用,也很占内存

2. 开发环境

  • Java 1.8
  • Mysql 5.7
  • maven 3.3.9
  • node.js 8.9.4
  • redis 4.0.6
环境安装这里就不说了,具体网上有很多博客可参考

三. 跑起来

1. 后端

1.1 克隆项目

git clone git@github.com:PGshen/non-zero.git

1.2 Project Structure配置

  • 用IDEA打开刚刚克隆下来的项目,右下角应该会提示pom.xml file found,点击Add as Maven Project,使项目使用maven进行管理,第一次需要下载相关依赖,时间会比较长.(第一次在IDEA上使用maven应该要配置一下,具体网上搜索吧)
  • idea打开
  • 打开 File -> Project Structure
  • 左侧选择Project,右侧选择项目的JDK,本项目使用的是1.8版本
  • Project
  • Module
  • Libraries
  • Facetes
  • 左侧选择Artifacts, 点击中间绿色+,选择Web Application: exploded -> From modules..,在弹出面板中选择zero-business,然后OK
  • 再次点击中间绿色+, 选择Web Application:Archive -> For zero-business:war exploded
  • Artifacts
  • Project Structure配置完成,点击OK

1.3 Run/Debug Configurations

  • 打开 Run -> Edit Configurations
  • 点击绿色+ , 选择Spring Boot,配置一下
    Name -> ZeroApplication
    Main class -> space.zero.business.ZeroApplication
    use class of module -> zero-business
    JRE -> 1.8
  • 图片描述
  • Run/Debug Configurations配置完成,点击OK
这里直接使用Spring Boot 内嵌的tomcat,只需在pom文件添加相关依赖即可;若是想部署到tomcat服务器也是可以的.

1.4 数据库

  • 创建数据库
create database zero character set utf8;
  • 导入数据
use zero;
source zero.sql;
  • 修改项目中的数据源配置(zero-business模块下的application-dev.properties文件)
# 开发环境配置
# 数据源配置,请修改为你项目的实际配置
spring.datasource.url=jdbc:mysql://localhost:3306/zero?useUnicode=true&characterEncoding=utf8&useSSL=false
spring.datasource.username=root
spring.datasource.password=1108
spring.datasource.driver-class-name=com.mysql.jdbc.Driverserver.port=8088

1.4 启动redis

#在终端命令启动redis
redis-server

1.5 启动后端项目

有两种方式启动项目,直接在IntelliJ IDEA 中启动,或者打成Jar包启动

  • IntelliJ IDEA启动
    通过前面的配置,直接点击run或debug按钮启动
  • Jar包启动
    进入项目目录,使用maven 命令打包

    mvn package

    进入zero-business模块的target 目录可以看到刚刚打的Jar 包,使用Java命令启动

    java -jar zero-business-1.0-SNAPSHOT.jar
如果在开发过程中使用IntelliJ IDEA启动,方便调试;
若是临时部署到远程服务器则采用Jar包运行方式;

2. 前端

2.1 克隆项目

git clone git@github.com:PGshen/non-zero-admin.git

2.2 安装依赖

#进入项目目录
npm intall

2.3 启动开发

打开config目录下的dev.ent.js文件,配置访问的服务器地址和端口

module.exports = {NODE_ENV: '"development"',ENV_CONFIG: '"dev"',// BASE_API: '"http://119.29.245.181:8088"'BASE_API: '"http://127.0.0.1:8088"'
}

启动

npm run dev

默认9527端口,浏览器打开localhost:9527

有问题或者下载依赖很慢可以参考花裤衩的说明

项目地址

后端:https://github.com/PGshen/non...
前端:https://github.com/PGshen/non...
预览地址:http://non-zero.space/zero/ (临时挂在github pages上的,不要改基础数据)

注意:项目还有一些小bug没改,目前先这样子吧


https://dhexx.cn/news/show-1141444.html

相关文章

vfp中treeview右键菜单_找回右键菜单中丢失的IDLE

作为一个科研民工,Python几乎是必备软件了。做做图、跑跑数,没有py的日子太难过了。这几天更换了办公室的电脑,本来想好好地耍一下,结果......又掉坑里了。症状:通常我们安装python之后会在.py文件的右键菜单中找到Edi…

sudo下如何安装php,Linux下如何安装DedeCMS

Linux下如何安装DedeCMS?随着Linux服务器应用范围越来越广泛,国内很多站长也开始使用它作为自己的Web服务器,本篇就来介绍如何在Linux系统环境下安装配置DedeCMS系统。推荐学习:织梦cms1.安装准备Linux(Ubuntu)Apache2MySQL5PHP5.…

JTalk Online:面试官教你快速成为 leader 最欣赏的技术人

JTalk Online 是由掘金主办的线上直播活动。定期邀请一线工程师分享最前沿的技术知识。 本期主题?:面试官教你快速成为 leader 最欣赏的技术人 ?时间:2018年3月31日(周六) 下午 14:00 - 16:00 直播地址&a…

python类的应用_Python基础应用---类

python的应用:应用:定义一个类,表示“服务器”服务器类,有一个公开的属性:一共有多少台服务器每一台服务器有这些属性:主机名,ip地址每一台服务器对外提供方法:1)重启Apache服务&…

php怎么使用艺术字,我是怎样用Word在图片上写艺术字的

文档。二.调入图片。1.在最上边的主菜单栏里点击插入,然后,在子菜单(下拉框)中鼠标放到“图片”二字上,在又弹出的子菜单中,点击“来自文件”。2. 在自己的文件夹里找到要用的图片,选中&#xf…

css魔幻属性跟进篇

白话:即上一篇我脑中飘来飘去的css魔幻属性自己的文章推出之后,这是自己写的第四篇CSS相关的文章,文章绝大部分是自己工作总结得来,另一部分是平日sf回答的与面试中向面试官交流学到的,都是一些比较基础,刨…

生日祝福小程序_TOP100小程序周榜出炉 拼多多领跑电商品类

作者: newrank 来源: newrank 2019-02-21 16:47 本周三强排名没有变动,仍是「跳一跳」、「拼多多」和「微信小游戏」。「365个祝福」排名上升8位,跻身第四。「365个祝福」可以制作节日祝福贺卡,与春节气氛颇为契合,排名上升也在情…

php 数组逆序排列函数’,PHP 数组排序

数组中的元素可以按字母或数字顺序进行降序或升序排列。PHP - 数组排序函数在本章中,我们将一一介绍下列 PHP 数组排序函数:sort() - 对数组进行升序排列rsort() - 对数组进行降序排列asort() - 根据关联数组的值,对数组进行升序排列ksort() …

memcache和redis的区别和联系

一、区别 Memcache : 1,对每个key的数据最大是1M。 2,对各种技术支持比较全面,session可以存储memcache中,各种框架(例如thinkphp)对memcache支持比较好。 3,比较老牌、传统的内存缓存技术。 4&…

泰勒公式矩阵形式_2021考研数学大纲修订之泰勒公式专题!考前必看!最强总结!...

1前言 2021年考研数学大纲有了力度很大的修订,其中数学三中有一处是:“了解泰勒定理”改为了“理解并会用泰勒定理”(如下图),这一点修改看似微不足道,容易被很多同学忽视,但其实以泰勒公式在微积分中的“资历”&…