第十六节 springboot 打包vue代码实现前后端统一部署
svbadmin学习日志
正篇
第一节 spring boot 模块化构建项目
第二节 整合mybatisplus完成用户增删改查
第三节 整合springsecurity实现基于RBAC的用户登录
第四节 springsecurity结合jwt实现前后端分离开发
第五节 使用ResponseBodyAdvice格式化接口输出
第六节 springboot结合redis实现缓存策略
第七节 springboot结合rabbitmq实现队列消息
第八节 springboot结合rabbitmq实现异步邮件发送
第九节 利用springboot的aop实现行为日志管理
第十节 利用Quartz实现数据库定时备份
第十一节 springboot配置log输出到本地文件
第十二节 使用flyway对数据库进行版本管理
第十三节 springboot配合VbenAdmin实现前端登录
第十四节 springboot配合VbenAdmin实现用户CURD
第十五节 基于RBAC的权限管理VbenAdmin前端实现
第十六节 springboot 打包vue代码实现前后端统一部署
番外
2.1 数据库设计原则
3.1 配置apifox自动获取登录的token
13.1 springboot 全局捕捉filter中的异常
14.1 springsecurity整合mybatisplus出现isEnable的问题和解决方案
前言
本节将会正篇的最后一篇文章了,经过了前十五节的coding,基本是使用Springboot和Vue来搭建了一个基础的后台管理系统。当然目前的代码还是比较粗糙的,有很多还没做,比如jwt里面的各种处理,数据库的事务处理等。
接下来我会对这个项目做两个方面的深入:
- 继续将其打造成一个开箱即用的前后台框架,方便以后我自己做项目,或者分享给大家使用
- 使用目前的代码去实现一个实际的项目,在实际项目过程中,来完善这个框架
接下来先完结此次专题,将目前的功能打包到服务器。搞完我会分享出链接和账号,当然得对账号做点约束,不然可能把系统玩坏了,还好我们已经实现了RBAC了。那就开搞吧。
一、springboot打包
在admin-web中加入打包插件
<build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins>
</build>
点击Maven模块的package按钮即可。
然后到admin-web-0.0.1-SNAPSHOT.jar所在的目录中执行
java -jar admin-web-0.0.1-SNAPSHOT.jar
然后我们可以用接口去访问测试即可。
二、vue打包
这里的打包部署方式有两种
1.部署在后端代码的resources/static下
这个方案没有跨域问题,单个包部署即可,但代码需要合并到后端。下面开始打包部署:
- 在Vben中执行
yarn build
,生成dist文件夹 - 在resources新建static文件夹,然后把dist中的内容复制到该文件夹下
- 然后构建后端项目后访问
http://localhost:8080/index.html
由于使用spring security,为了能访问一些静态资源,需要加入WebSecurityCustomizer的配置,如下:
/*** 配置要忽略的路径*/@BeanWebSecurityCustomizer webSecurityCustomizer() {// 忽略 /error 页面return web -> web.ignoring().antMatchers("/error","/index.html","/assets/**","/_app.config.js","/resource/**")// 忽略常见的静态资源路径.requestMatchers(PathRequest.toStaticResources().atCommonLocations());}
TODO
1.去掉index.html也可访问
2.去掉#符号
2.使用nginx或者其他容器单独部署
这个方案暂时不做了。
2023.02.19更新 :使用nginx单独部署Vben应用
三、上传演示
接下来把admin-web-0.0.1-SNAPSHOT.jar
上传到服务器,然后在服务器上运行。
这里先对账号做点限制,默认我会创建3个账号,分别是root,admin,user,密码都是123。 然后root账号不能被删除,其他随意测试。
地址:http://118.31.68.110:8081/index.html
账号:root
密码:123
总结
- 改了下用户新增模块,支持用户可以分配多个角色
- 目前这个代码基本可以用,当然还有很多要完善的,我会番外里面不断完善。再见。
问题
- 访问localhost:8080返回401
01_SpringSecurity学习之配置HttpSecurity
代码地址
Springboot 代码
VbenAdmin 代码
参考文档:
Vben构建&部署
springsecurity重定向
第十六节 springboot 打包vue代码实现前后端统一部署相关推荐
- 《PyInstaller打包实战指南》第十六节 单文件模式打包PyGame
第十六节 单文件模式打包PyGame 打包示例源码下载: M to the B / Coffee Breakout · GitLab 版本信息: pygame==1.9.6 pyinstaller== ...
- Python编程基础:第三十六节 模块Modules
第三十六节 模块Modules 前言 实践 前言 我们目前所有的代码都写在一个文档里面.如果你的项目比较大,那么把所有功能写在一个文件里就非常不便于后期维护.为了提高我们代码的可读性,降低后期维护的成 ...
- 大白话5分钟带你走进人工智能-第二十六节决策树系列之Cart回归树及其参数(5)...
第二十六节决策树系列之Cart回归树及其参数(5) 上一节我们讲了不同的决策树对应的计算纯度的计算方法, ...
- 【二十六】springboot实现多线程事务处理
springboot篇章整体栏目: [一]springboot整合swagger(超详细 [二]springboot整合swagger(自定义)(超详细) [三]springboot整合token ...
- 第二章 第十六节:字典的循环嵌套
Python基础入门(全套保姆级教程) 第二章 第十六节:字典的循环嵌套 字典的循环 直接看图看代码 dic = {"赵四": "特别能歪嘴","刘能 ...
- Python编程基础:第二十六节 kwargs参数**kwargs
第二十六节 kwargs参数**kwargs 前言 实践 前言 上一节我们尝试传入任意多的参数,我们这一节来学习传入任意多具有参数名称的参数.kwargs参数将用户传入的参数打包为字典传入函数中用于进 ...
- Python编程基础:第五十六节 filter函数Filter
第五十六节 filter函数Filter 前言 实践 前言 filter函数的作用是对可迭代对象内部的元素按照特定条件进行过滤,其书写方式为filter(function, iterable),第一个 ...
- Python编程基础:第四十六节 super函数Super Function
第四十六节 super函数Super Function 前言 实践 前言 使用super函数可以在子类中直接调用父类的方法.通常情况下,我们会将一些通用的属性或方法定义在父类中,子类可以直接使用父类中 ...
- Python编程基础:第十六节 元组Tuple
第十六节 元组Tuple 前言 实践 前言 我们这一节来学习一个与列表非常相似的数据结构--元组.需要注意的是元组定义好以后,其中的元素是不能改变的,并且所有元素是有序排列的, 实践 我们先来创建一个 ...
最新文章
- 快速幂 + 矩阵快速幂
- mediawiki java api_维基百科 MediaWiki API 解析
- 【参会指南】神策 2020 数据驱动用户大会,10 月 13 日将重磅开幕!
- 数据库相关的论文笔记
- 在 centos 上搭建 gitlab 项目管理软件
- Linux:建立内核代码树
- 定期清理sql2005事务日志
- 具有搜索和自定义分页的React Bootstrap表
- 100. Same Tree (Tree;DFS)
- Oracle PL\SQL 基础学习一
- Jira7.10.1在Windows环境下的安装和配置
- 每天学点Linux:一
- 数字图像处理(DIP)作业8 matlab or OpenCV 对lena 图片进行边缘提取
- html网页背景音乐代码
- 《现代汉语》北大公开课
- 200元以下耳机推荐
- spring定时任务cron为每季度第一个工作日转换为cron表达式
- 六一活动页面html,HTML5教程|如何制作六一儿童节答题测试H5页面?
- 哎呦,这个社会和时代是怎么了呢???
- python中replace()方法