news 2026/4/26 17:11:01

SpringBoot 应用入门与 Docker 化部署实战

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
SpringBoot 应用入门与 Docker 化部署实战

一、SpringBoot 快速构建 REST 接口

1.1 什么是 SpringBoot?

Spring Boot 是基于 Spring 框架的快速开发脚手架,通过约定优于配置的理念,极大简化了 Spring 应用的初始搭建和开发流程。开发者无需繁琐的 XML 配置,即可快速启动一个生产级别的 Web 应用。

1.2 编写一个 Login 接口

下面以一个最简单的用户登录接口为例,演示 SpringBoot 如何处理 HTTP POST 请求。

接口说明
属性
请求方式POST
接口路径/login
请求参数usernamepassword
返回值String
代码实现

@RequestMapping(value = "/login", method = RequestMethod.POST) public String login(@RequestParam("username") String username, @RequestParam("password") String password) { System.out.println("username: " + username + " password: " + password); return ""; }

关键注解说明
  • @RequestMapping:用于映射 HTTP 请求路径与方法。value指定路由路径,method指定请求方式(此处为POST)。
  • @RequestParam:用于绑定 HTTP 请求中的表单参数或 Query 参数到方法入参。usernamepassword会从请求体(application/x-www-form-urlencoded)或 URL 参数中自动提取。
测试接口

可以使用curl或 Postman 对接口进行测试:

curl -X POST http://localhost:8080/login \ -d "username=admin&password=123456"

控制台将输出:

username: admin password: 123456

注意:实际生产环境中,密码不应以明文传输,应使用 HTTPS 加密,并对密码进行哈希(如 BCrypt)处理后再做比对。


二、Docker 容器化部署 SpringBoot 应用

将 SpringBoot 应用打包进 Docker 镜像,可以实现环境一致性,避免"本地能跑、线上报错"的经典问题,也是现代多人协作项目中的标准化部署方式。

2.1 前置准备

在构建 Docker 镜像之前,需要先将 SpringBoot 项目打包为可执行 JAR 文件:

mvn clean package -DskipTests

打包成功后,JAR 文件默认生成于target/目录下,例如:

target/gs-spring-boot-0.1.0.jar

2.2 编写 Dockerfile

在项目根目录下创建Dockerfile文件:

# 使用带有 JDK 8 的轻量级 Alpine 基础镜像 FROM java:8u111-jdk-alpine # 设置容器内的工作目录 WORKDIR /app # 将打包好的 JAR 文件复制到容器的工作目录中 COPY target/gs-spring-boot-0.1.0.jar . # 声明容器对外暴露的端口 EXPOSE 8080 # 容器启动时执行的命令 CMD ["java", "-jar", "gs-spring-boot-0.1.0.jar"]

Dockerfile 指令说明
指令作用
FROM指定基础镜像。java:8u111-jdk-alpine是基于 Alpine Linux 的 JDK 8 镜像,体积小巧。
WORKDIR设置后续指令的工作目录,若目录不存在会自动创建。
COPY将宿主机文件复制到镜像内指定路径。
EXPOSE声明容器运行时监听的端口(仅为文档说明,不自动映射端口)。
CMD指定容器启动后执行的默认命令,这里启动 SpringBoot 应用。
2.3 构建 Docker 镜像

在项目根目录下(即 Dockerfile 所在目录),执行以下命令构建镜像:

docker build . -t demo-app

  • .:指定构建上下文为当前目录。
  • -t demo-app:为镜像打上标签,命名为demo-app

构建成功后,可通过以下命令验证镜像是否存在:

docker images | grep demo-app

2.4 运行 Docker 容器

docker run -p 80:8080 -it demo-app

参数说明
参数说明
-p 80:8080端口映射,将宿主机的80端口映射到容器的8080端口。访问http://localhost/login即可触达应用。
-it以交互模式运行容器,并分配伪终端,方便查看控制台日志输出。
demo-app指定要运行的镜像名称。

启动成功后,通过浏览器或curl访问:

curl -X POST http://localhost/login \ -d "username=admin&password=123456"

2.5 完整部署流程总结

① mvn clean package # 打包 SpringBoot 应用为 JAR ↓ ② 编写 Dockerfile # 定义镜像构建规则 ↓ ③ docker build . -t demo-app # 构建镜像 ↓ ④ docker run -p 80:8080 -it demo-app # 启动容器 ↓ ⑤ 访问 http://localhost/login # 验证服务


三、小结

本节课通过一个简单的登录接口,完整演示了从SpringBoot 接口开发Docker 容器化部署的全流程:

  1. 使用@RequestMapping+@RequestParam快速定义 POST 接口,接收前端传参。
  2. 编写Dockerfile,基于轻量 Alpine 镜像封装应用。
  3. 通过docker build构建镜像,docker run启动服务,完成本地容器化部署。

掌握这一基础流程,是后续进行多人协作平台开发、CI/CD 流水线集成的重要基础。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/24 12:51:01

服务器开机慢?从CPLD电源时序设计聊聊硬件启动优化那些事儿

服务器开机慢?从CPLD电源时序设计聊聊硬件启动优化那些事儿 当数据中心运维人员按下服务器电源键时,很少有人会思考主板上的CPLD芯片正在执行怎样精密的"交响乐指挥"工作。这个指甲盖大小的可编程逻辑器件,通过精确控制数十路电源的…

作者头像 李华
网站建设 2026/4/24 13:50:52

Charles抓包实战:从配置代理到成功拦截手机App请求的全流程记录

Charles抓包实战:从配置代理到成功拦截手机App请求的全流程记录 调试移动端应用时,网络请求的抓取与分析往往是排查问题的关键。本文将带你一步步完成Charles的配置,实现手机App请求的拦截与查看。不同于简单的步骤罗列,我们将以…

作者头像 李华
网站建设 2026/4/24 14:00:47

企业级内网即时通讯怎么做?从 BeeWorks 看三大核心能力

企业级内网即时通讯与普通聊天软件有本质区别。它不仅要满足万人级并发下的消息低延迟,还要支持与 OA、ERP 等业务系统的深度集成,并在纯内网环境下保障数据绝对安全。本文以 BeeWorks 为例,拆解企业级内网即时通讯的三大核心能力。一、高并发…

作者头像 李华
网站建设 2026/4/24 12:14:15

DownKyi终极指南:5步快速掌握B站视频下载与管理

DownKyi终极指南:5步快速掌握B站视频下载与管理 【免费下载链接】downkyi 哔哩下载姬downkyi,哔哩哔哩网站视频下载工具,支持批量下载,支持8K、HDR、杜比视界,提供工具箱(音视频提取、去水印等)…

作者头像 李华
网站建设 2026/4/24 14:06:44

终极NVIDIA Profile Inspector完整指南:三步解锁显卡隐藏性能

终极NVIDIA Profile Inspector完整指南:三步解锁显卡隐藏性能 【免费下载链接】nvidiaProfileInspector 项目地址: https://gitcode.com/gh_mirrors/nv/nvidiaProfileInspector 你是否曾想过,为什么同样的显卡配置,别人的游戏运行更流…

作者头像 李华