Spring Boot项目部署及mysql并允许前端本地访问

 更新时间:2026年05月27日 10:22:20   作者:wxr0616  
Spring Boot是一个用与开发和构建基于Spring的框架的Java应用于程序的开源框架,它简化Spring应用程序的初始配置和开发过程,这篇文章主要介绍了Spring Boot项目部署及mysql并允许前端本地访问的相关资料,需要的朋友可以参考下

1)修改后端配置

确保 <font style="color:rgb(64, 64, 64);">application.yml</font> 或 <font style="color:rgb(64, 64, 64);">application.properties</font> 中的数据库连接指向服务器MySQL

spring:
  datasource:
    url: jdbc:mysql://localhost:3306/数据库名?useSSL=false
    username: your_user
    password: your_password

2)解决跨域问题

如果后端未配置 CORS,在 Spring Boot 中添加:

@Configuration
public class CorsConfig implements WebMvcConfigurer {
    @Override
    public void addCorsMappings(CorsRegistry registry) {
        registry.addMapping("/**")
        .allowedOrigins("*")  // 允许所有来源(或指定前端地址)
        .allowedMethods("GET", "POST", "PUT", "DELETE")
        .allowedHeaders("*");
    }
}

2)打包jar

进入文件根目录(有pom.xml的那一级)

运行

mvn clean package

3)上传到服务器

4)在服务器运行后端

java -jar C:\Users\Administrator\Desktop\ngpos-boot3-1.0.jar --server.port=8081

检查是否运行:

ps aux | grep java
netstat -tulnp | grep 8080

配置本地Vue前端访问服务器API

(1)修改Vue的API请求地址

在 <font style="color:rgb(64, 64, 64);">vue.config.js</font> 中配置代理:

module.exports = {
  devServer: {
    proxy: {
      '/api': {
        target: 'http://服务器IP:8080',  // 后端地址
        changeOrigin: true,
        pathRewrite: {
          '^/api': ''
        }
      }
    }
  }
}

或者在 <font style="color:rgb(64, 64, 64);">.env.development</font> 中设置:

VUE_APP_API_BASE_URL=http://服务器IP:8080

然后在代码中使用:

axios.get(`${process.env.VUE_APP_API_BASE_URL}/api/data`);

(2)解决跨域问题

如果后端未配置 CORS,在 Spring Boot 中添加:

@Configuration
public class CorsConfig implements WebMvcConfigurer {
    @Override
    public void addCorsMappings(CorsRegistry registry) {
        registry.addMapping("/**")
        .allowedOrigins("*")  // 允许所有来源(或指定前端地址)
        .allowedMethods("GET", "POST", "PUT", "DELETE")
        .allowedHeaders("*");
    }
}

测试访问

(1)直接访问后端API

在浏览器或 Postman 访问:

http://服务器IP:8080/api/test

如果返回数据,说明后端正常运行。

(2)本地Vue访问

运行本地前端:

npm run dev

访问 <font style="color:rgb(64, 64, 64);">http://localhost:8080</font>,检查是否能获取服务器数据。

===============================================================

错误:

PS C:\Users\17035\Desktop\新建文件夹\back-end-of-western-restaurant - 副本\dish\target> java -jar ngpos-boot3-1.0.jar ngpos-boot3-1.0.jar中没有主清单属性

完整的解决方案:

根据你的 pom.xml 文件,我发现导致 JAR 文件无法运行的关键问题是 spring-boot-maven-plugin 配置中的 true。这个参数会跳过 Spring Boot 的可执行 JAR 打包过程,导致生成的 JAR 文件缺少必要的启动信息。以下是

  • 问题修复步骤
    (1) 修改 spring-boot-maven-plugin 配置
    将以下部分:
<configuration>
  <mainClass>com.example.dish.DishApplication</mainClass>
  <skip>true</skip>  <!-- 删除这一行 -->
</configuration>

改为

<configuration>
    <mainClass>com.example.dish.DishApplication</mainClass>
</configuration>

1. 正确的端口映射命令(管理员权限运行)

netsh interface portproxy add v4tov4 listenport=80 listenaddress=0.0.0.0 connectport=8081 connectaddress=127.0.0.1 protocol=tcp

2. 命令参数说明

参数说明
<font style="color:rgb(64, 64, 64);">listenport</font>80外部访问的端口
<font style="color:rgb(64, 64, 64);">listenaddress</font>0.0.0.0监听所有网络接口
<font style="color:rgb(64, 64, 64);">connectport</font>8081内部服务实际端口
<font style="color:rgb(64, 64, 64);">connectaddress</font>127.0.0.1转发到本机
<font style="color:rgb(64, 64, 64);">protocol</font>tcp使用TCP协议

3. 验证映射是否成功

netsh interface portproxy show all

预期输出:

侦听 ipv4:                 连接到 ipv4:
地址            端口        地址            端口
--------------- ----------  --------------- ----------
0.0.0.0         80          127.0.0.1       8081

4. 开放防火墙80端口(如果尚未开放)

netsh advfirewall firewall add rule name="HTTP_80" dir=in action=allow protocol=TCP localport=80

5. 测试访问

现在可以通过以下方式访问:

http://8.138.207.62:80/ticket/listAll

6. 注意事项

  • 需要以管理员身份运行CMD/PowerShell

如果80端口被系统服务占用,可改用其他端口(如8080):

netsh interface portproxy add v4tov4 listenport=8080 listenaddress=0.0.0.0 connectport=8081 connectaddress=127.0.0.1
  • 重启后映射会失效,如需持久化可以创建计划任务

7. 完整操作示例

:: 添加端口映射
netsh interface portproxy add v4tov4 listenport=80 listenaddress=0.0.0.0 connectport=8081 connectaddress=127.0.0.1

:: 查看所有映射规则
netsh interface portproxy show all

:: 开放防火墙
netsh advfirewall firewall add rule name="HTTP_80" dir=in action=allow protocol=TCP localport=80

:: 测试映射是否生效(在服务器本地执行)
curl http://localhost:80/kitchen/tasks

如果仍然遇到问题,可能是:

  • IIS或其他服务占用了80端口(使用<font style="color:rgb(64, 64, 64);">netstat -ano | findstr :80</font>检查)
  • 云服务商限制了80端口(需在控制台开放)
  • 本地网络屏蔽了80端口(尝试手机热点访问)

总结 

到此这篇关于Spring Boot项目部署及mysql并允许前端本地访问的文章就介绍到这了,更多相关Spring Boot部署mysql前端本地访问内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Java汉字转拼音案例详解

    Java汉字转拼音案例详解

    这篇文章主要介绍了Java汉字转拼音案例详解,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
    2021-08-08
  • Win10系统下配置Java环境变量

    Win10系统下配置Java环境变量

    今天给大家带来的是关于Java的相关知识,文章围绕着Win10系统下配置Java环境变量展开,文中有非常详细的介绍及图文示例,需要的朋友可以参考下
    2021-06-06
  • java中使用mmap技术的实现示例

    java中使用mmap技术的实现示例

    本文主要介绍了java中使用mmap技术的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2026-01-01
  • J2EE Servlet基础在浏览器上运行HelloServlet的方法

    J2EE Servlet基础在浏览器上运行HelloServlet的方法

    这篇文章主要介绍了J2EE Servlet基础在浏览器上运行HelloServlet的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-10-10
  • java Volatile与Synchronized的区别

    java Volatile与Synchronized的区别

    这篇文章主要介绍了java Volatile与Synchronized的区别,帮助大家更好的理解和使用Java,感兴趣的朋友可以了解下
    2020-12-12
  • Java实现四则混合运算代码示例

    Java实现四则混合运算代码示例

    这篇文章主要介绍了Java实现四则混合运算代码示例,文中展示了详细代码,具有一定参考价值,需要的朋友可以了解下。
    2017-10-10
  • Spring MVC 关于controller的字符编码问题

    Spring MVC 关于controller的字符编码问题

    在使用springMVC框架构建web应用,客户端常会请求字符串、整型、json等格式的数据,通常使用@ResponseBody注解使 controller回应相应的数据而不是去渲染某个页面。
    2017-03-03
  • SpringBoot异步使用@Async的原理以及线程池配置详解

    SpringBoot异步使用@Async的原理以及线程池配置详解

    在项目中当访问其他人的接口较慢时,不想程序一直卡在耗时任务上,想程序能够并行执行,我们可以使用多线程来并行的处理任务,也可以使用spring提供的异步处理方式@Async,这篇文章主要给大家介绍了关于SpringBoot异步使用@Async的原理以及线程池配置的相关资料
    2021-09-09
  • oracle数据库导入TXT文件方法介绍

    oracle数据库导入TXT文件方法介绍

    这篇文章主要介绍了oracle数据库导入TXT文件方法介绍,文中向大家展示了具体代码示例,需要的朋友可以参考下。
    2017-09-09
  • @Value注入List、数组、Set、Map问题

    @Value注入List、数组、Set、Map问题

    这篇文章主要介绍了@Value注入List、数组、Set、Map问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-07-07

最新评论