第十六节 springboot 打包vue代码实现前后端统一部署

svbadmin学习日志

本学习日志是使用Springboot和Vue来搭建的后台管理系统:
演示地址:http://118.31.68.110:8081/index.html
账号:root
密码:123
所有代码可以在gitbub上找到,切换到相应分支即可。【代码传送门

正篇

第一节 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里面的各种处理,数据库的事务处理等。
接下来我会对这个项目做两个方面的深入:

  1. 继续将其打造成一个开箱即用的前后台框架,方便以后我自己做项目,或者分享给大家使用
  2. 使用目前的代码去实现一个实际的项目,在实际项目过程中,来完善这个框架

接下来先完结此次专题,将目前的功能打包到服务器。搞完我会分享出链接和账号,当然得对账号做点约束,不然可能把系统玩坏了,还好我们已经实现了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下

这个方案没有跨域问题,单个包部署即可,但代码需要合并到后端。下面开始打包部署:

  1. 在Vben中执行yarn build,生成dist文件夹
  2. 在resources新建static文件夹,然后把dist中的内容复制到该文件夹下
  3. 然后构建后端项目后访问

http://localhost:8080/index.html

在这里插入图片描述
由于使用spring security,为了能访问一些静态资源,需要加入WebSecurityCustomizer的配置,如下:

/**
  * 配置要忽略的路径
  */
 @Bean
 WebSecurityCustomizer 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

在这里插入图片描述


总结

  1. 改了下用户新增模块,支持用户可以分配多个角色
  2. 目前这个代码基本可以用,当然还有很多要完善的,我会番外里面不断完善。再见。

问题

  1. 访问localhost:8080返回401
    01_SpringSecurity学习之配置HttpSecurity

代码地址

Springboot 代码
VbenAdmin 代码


参考文档:
Vben构建&部署

springsecurity重定向

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 5
    评论
### 回答1: 在使用Spring Boot和Vue实现前后分离项目时,前部分主要由Vue组成,包括Vue的HTML、CSS和JavaScript代码。而后部分主要由Spring Boot组成,包括Java代码和相关配置文件。因此,可以认为前部分是主要源程序之一,后部分也是主要源程序之一。两者都是项目的重要组成部分,缺一不可。 ### 回答2: 对于一个基于SpringBootVue实现的前后分离项目来说,主要源程序部分可以分为两个部分:后源程序和前源程序。 后源程序主要是指使用SpringBoot框架开发的项目的源代码。在一个典型的前后分离项目中,后源程序主要负责处理业务逻辑、数据库连接和数据处理等后功能。它包含了控制器(Controller)、服务(Service)、数据访问对象(DAO)等模块。 前源程序主要是指使用Vue框架开发的项目的源代码。前源程序主要负责实现用户界面及与后进行数据交互。它包含了页面组件、路由配置、模板、样式和交互逻辑等。前源程序通常使用Vue的组件化开发模式,每个组件对应一个UI模块,可以进行复用。 在前后分离项目中,后源程序和前源程序是相对独立的,它们通过API接口进行通信和数据交换。后源程序提供接口供前调用,前通过调用后的接口获取数据并渲染到界面上。因此,后源程序和前源程序是相互配合的关系,互为重要的一部分。 总而言之,对于基于SpringBootVue实现的前后分离项目来说,后源程序和前源程序同等重要,分别负责不同的功能和模块。可以说,这两部分源程序的联合工作才构成了完整的前后分离项目。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

F_angT

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值