实战java Spring Boot项目——若依管理系统

一、平台简介

        若依管理系统是一款基于Java Spring Boot框架开发的开源项目,旨在提供一套简单易用、功能丰富的管理系统解决方案。该项目采用了现代化的前后端分离架构,前端使用了Vue.js框架,后端使用了Spring Boot框架,通过RESTful API进行通信。

RuoYi: 🎉 基于SpringBoot的权限管理系统 易读易懂、界面简洁美观。 核心技术采用Spring、MyBatis、Shiro没有任何其它重度依赖。直接运行即可用 - Gitee.com

二、搭建部署

1.实验环境
192.168.1.3前端
192.168.1.4后端
192.168.1.5数据库
2. 永久关闭防火墙和SELinux

systemctl stop firewalld
systemctl disable firewalld
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
setenforce 0 

3.安装mysql和redis

192.168.1.5:
redis 5.0.10:Redis 构建缓存服务器_Yebati的博客-CSDN博客
mysql5.7:基于CentOS7的MySQL安装部署_centos7部署mysql-CSDN博客

 4.前后端打包环境并打包

192.168.1.4: 

(jdk1.8、apache-maven-3.8.8、node-v16.20.2)

 tar xzvf jdk-8u221-linux-x64.tar.gz -C /usr/local/
 mv /usr/local/jdk1.8.0_221/ /usr/local/java
 vim /etc/profile
JAVA_HOME=/usr/local/java
PATH=$JAVA_HOME/bin:$PATH
export JAVA_HOME PATH
 source /etc/profile
 java -version

下载maven包
wget https://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.tar.gz
解压并改名
 tar xzvf apache-maven-3.6.3-bin.tar.gz -C /usr/local/
 mv /usr/local/apache-maven-3.6.3/ /usr/local/maven
设置环境变量
 vim /etc/profile
MAVEN_HOME=/usr/local/maven
PATH=$PATH:$MAVEN_HOME/bin
export MAVEN_HOME PATH
 source /etc/profile
检测maven是否安装成功
  mvn -version
Apache Maven 3.6.3 (cecedd343002696d0abb50b32b541b8a6ba2883f)
Maven home: /usr/local/maven
Java version: 1.8.0_211, vendor: Oracle Corporation, runtime: /usr/local/java/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "3.10.0-957.el7.x86_64", arch: "amd64", family: "unix"



安装node.js前端打包工具命令npm
 wget https://nodejs.org/dist/v12.18.4/node-v12.18.4-linux-x64.tar.xz
 tar xf node-v12.18.4-linux-x64.tar.xz -C /usr/local/
 cd /usr/local/
 mv node-v12.18.4-linux-x64/ node
 vim /etc/profile
NODE_HOME=/usr/local/node
PATH=$NODE_HOME/bin:$PATH
export NODE_HOME PATH
 source /etc/profile
 node --version
v12.18.4

安装Git命令获取源代码
 yum install -y git
clone代码
 git clone https://gitee.com/y_project/RuoYi-Vue.git
进入项目代码:
 ls
bin  LICENSE  README.md    ruoyi-common     ruoyi-generator  ruoyi-system  ry.sh
doc  pom.xml  ruoyi-admin  ruoyi-framework  ruoyi-quartz     ruoyi-ui      sql
 cd ruoyi-admin/src/main/resources/
编辑代码配置文件修改数据库与redis连接地址
1.修改redis
 vim application.yml
# redis 配置
  redis:
    # 地址
    host: 192.168.198.160
    # 端口,默认为6379
    port: 6379
    # 密码
    password:
2.修改mysql
 vim application-druid.yml
# 数据源配置
spring:
    datasource:
        type: com.alibaba.druid.pool.DruidDataSource
        driverClassName: com.mysql.cj.jdbc.Driver
        druid:
            # 主库数据源
            master:
                url: jdbc:mysql://192.168.1.5:3306/ry?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&serverTimezone=GMT%2B8
                username: root
                password: 123456

打包前端代码
 cd RuoYi-Vue/ruoyi-ui/
替换为国内淘宝镜像源
 npm install --unsafe-perm --registry=https://registry.npm.taobao.org
正式环境打包前端代码
 npm run build:prod

构建打包成功之后,会在根目录生成 dist 文件夹,里面就是构建打包好的文件,通常是 xxx.js 、xxx.css、index.html 等静态文件。

通常情况下 dist 文件夹的静态文件发布到你的 nginx 或者静态服务器即可,其中的 index.html 是后台服务的入口页面。
 ls
babel.config.js  build  node_modules  package-lock.json  README.md  vue.config.js
bin              dist   package.json  public             src
 cd dist/
# ls   ----前端代码完成
favicon.ico  index.html  robots.txt  static

打包后端代码 

 cd RuoYi-Vue/
 mv ruoyi-ui/ /mnt/
 cd sql/
 ls
quartz.sql  ry_20200920.sql
#导入数据给创建的数据库里面
 mysql -uroot -p'123456' ry < quartz.sql 
mysql: [Warning] Using a password on the command line interface can be insecure.
[root@web-nginx sql]# mysql -uroot -p'QianFeng@123!' ry < ry_20200920.sql 
mysql: [Warning] Using a password on the command line interface can be insecure.

开始后端打包jar包
 mvn package  ---后端打包命令 ----时间较长
#然后会在项目下生成 target文件夹包含 war 或jar (多模块生成在ruoyi-admin)
 cd ruoyi-admin/
 ls
pom.xml  src  target
 ls
classes  generated-sources  maven-archiver  maven-status  ruoyi-admin.jar  ruoyi-admin.jar.original
5.准备前端web服务

192.168.1.3 :

安装nginx
 vim /etc/yum.repos.d/nginx.repo
[nginx-stable] name=nginx stable repo baseurl=http://nginx.org/packages/centos/$releasever/$basearch/ gpgcheck=0 enabled=1 
​​​​​​​ yum install -y nginx
 rm -rf /usr/share/nginx/html/*
 vim /etc/nginx/nginx.conf
 location / {
 root /usr/share/nginx/html
 index index.html
 }
 location /prod-api/{
      proxy_pass http://192.168.1.4:8080/;
 }
 nginx -s reload
 
6.启动后端
cd /root/RuoYi-Vue/ruoyi-admin/target
java -jar ruoyi-admin.jar

 

一直想做一款后台管理系统,看了很多优秀的开源项目但是发现没有合适自己的。于是利用空闲休息时间开始自己写一套后台系统。如此有了若依管理系统。她可以用于所有的Web应用程序,如网站管理后台,网站会员中心,CMS,CRM,OA。所有前端后台代码封装过后十分精简易上手,出错效率低。同时支持移动客户端访问。系统会陆续更新一些实用功能。您是否在找一套合适后台管理系统。您是否在找一套代码易读易懂后台管理系统。那么,现在若依来了。诚意奉献之作若依是给刚出生的女儿取的名字 寓意:你若不离不弃,我必生死相依内置功能用户管理:用户是系统操作者。部门管理:配置系统组织机构。岗位管理:岗位是用户所属职务。菜单管理:配置系统菜单(支持控制到按钮)。角色管理:角色菜单权限分配。字典管理:对系统中经常使用的一些较为固定的数据进行维护。操作日志:系统操作日志记录(含异常)。登录日志:系统登录情况记录(含异常)。在线用户:当前系统中活跃用户状态监控。连接池监视:监视当期系统数据库连接池状态,可进行分析SQL找出系统性能瓶颈。为何选择若依是一个完全响应式,基于Bootstrap3.3.6最新版本开发的主题。她可以用于所有的Web应用程序,如网站管理后台,网站会员中心,CMS,CRM,OA。拥有良好的代码结构,层次结构清晰。内置一系列基础功能。操作权限控制精密细致,对所有管理链接都进行权限验证,可控制到按钮。提供在线功能代码生成工具,提高开发效率及质量。提供常用工具类封装,日志、国际化、缓存、验证、字典等数据。兼容目前最流行浏览器(IE7+、Chrome、Firefox)手机移动端也支持。技术选型1、后端核心框架:Spring Boot安全框架:Apache Shiro模板引擎:Thymeleaf持久层框架:MyBatis数据库连接池:Druid缓存框架:Ehcache日志管理:SLF4J工具类:Apache Commons FastjsonPOJO:Lombok2、前端框架:Bootstrap数据表格:Bootstrap Table客户端验证:JQuery Validation树结构控件:zTree弹出层:layer3、平台服务器中间件:SpringBoot内置数据库支持:目前仅提供MySql数据库的支持,但不限于数据库开发环境:Java、Eclipse、Maven、Git
RuoYi若依管理系统是一个基于SpringBoot的权限管理系统,代码易读易懂、界面简洁美观。 核心技术采用Spring、MyBatis、Shiro没有任何其它重度依赖。直接运行即可用。 RuoYi若依管理系统功能: 1、用户管理:用户是系统操作者,该功能主要完成系统用户配置。 2、部门管理:配置系统组织机构(公司、部门、小组),树结构展现支持权限。 3、岗位管理:配置系统用户所属担任职务。 4、菜单管理:配置系统菜单,操作权限,按钮权限标识等。 5、角色管理:角色菜单权限分配、设置角色按机构进行数据范围权限划分。 6、字典管理:对系统中经常使用的一些较为固定的数据进行维护。 7、参数管理:对系统动态配置常用参数。 8、通知公告:系统通知公告信息发布维护。 9、操作日志:系统正常操作日志记录和查询;系统异常信息日志记录和查询。 10、登录日志:系统登录日志记录查询包含登录异常。 11、在线用户:当前系统中活跃用户状态监控。 12、定时任务:在线(添加、修改、删除)任务调度包含执行结果日志。 13、代码生成:前后端代码的生成(java、html、xml、sql)支持CRUD下载 。 14、系统接口:根据业务代码自动生成相关的api接口文档。 15、服务监控:监视当前系统CPU、内存、磁盘、堆栈等相关信息。 16、在线构建器:拖动表单元素生成相应的HTML代码。 17、连接池监视:监视当前系统数据库连接池状态,可进行分析SQL找出系统性能瓶颈。   RuoYi若依管理系统 更新日志: v4.6.1 新增IE浏览器版本过低提示页面 新增详细信息tab页签方式 新增解锁屏幕打开上次页签 数据监控默认账户密码防止越权访问 新增表格示例(导出选择列) 个人信息添加手机&邮箱重复验证 个人中心刷新后样式问题 操作日志返回参数添加非空验证 velocity剔除commons-collections版本,防止3.2.1版本的反序列化漏洞 子表模板默认日期格式化 代码生成预览语言根据后缀名高亮显示 代码生成主子表相同字段导致数据问题 升级SpringBoot到最新版本2.2.13 升级shiro到最新版1.7.1 阻止身份认证绕过漏洞 升级bootstrapTable到最新版本v1.18.2 升级bootstrapTable相关组件到最新版本v1.18.2 升级fastjson到最新版1.2.75 升级druid到最新版本v1.2.4 升级oshi到最新版本v5.6.0 修改ip字段长度防止ipv6地址长度不够 搜索建议示例选择后隐藏列表 主子表示例增加初始化数据 优化Excel导入增加空行判断 修复横向菜单无法打开页签问题 修复导入数据为负浮点数时,导入结果会丢失精度问题 优化更多操作按钮左侧移入内容闪现消失情况 修复主子表提交中列隐藏后出现列偏移问题 单据打印网页时通过hidden-print隐藏元素 表格销毁清除记住选择数据 增加表格动态列示例 代码生成选择主子表关联元素必填 tree根据Id和Name选中指定节点增加空判断 其他细节优化
若依管理系统是一个开源的后台管理系统,它使用了Spring Boot框架进行开发若依管理系统提供了完整的用户角色权限管理、菜单管理、部门管理、字典管理等功能,可以快速搭建企业级后台管理系统。 如果要在若依管理系统中配置WebSocket,可以按照以下步骤进行: 1. 在pom.xml文件中添加Spring Boot WebSocket依赖: ``` <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-websocket</artifactId> </dependency> ``` 2. 创建WebSocket配置类,实现WebSocketMessageBrokerConfigurer接口: ``` @Configuration @EnableWebSocketMessageBroker public class WebSocketConfig implements WebSocketMessageBrokerConfigurer { @Override public void configureMessageBroker(MessageBrokerRegistry config) { config.enableSimpleBroker("/topic"); config.setApplicationDestinationPrefixes("/app"); } @Override public void registerStompEndpoints(StompEndpointRegistry registry) { registry.addEndpoint("/websocket").setAllowedOrigins("*").withSockJS(); } } ``` 3. 在控制器中添加WebSocket处理方法: ``` @Controller public class WebSocketController { @MessageMapping("/hello") @SendTo("/topic/greetings") public String greeting(String message) { return "Hello, " + message + "!"; } } ``` 4. 在前端页面中使用JavaScript连接WebSocket: ``` var socket = new SockJS('/websocket'); var stompClient = Stomp.over(socket); stompClient.connect({}, function (frame) { stompClient.subscribe('/topic/greetings', function (greeting) { console.log(JSON.parse(greeting.body).content); }); }); ``` 以上就是在若依管理系统中配置WebSocket的基本步骤,具体实现过程还需要根据自己的需求进行调整。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值