当前位置: 首页 > news >正文

Spring Boot教程之三十九: 使用 Maven 将 Spring Boot 应用程序 Docker 化

 如何使用 Maven 将 Spring Boot 应用程序 Docker 化?

Docker是一个开源容器化工具,用于在隔离环境中构建、运行和管理应用程序。它方便开发人员捆绑其软件、库和配置文件。Docker 有助于将一个容器与另一个容器隔离。在本文中,为了将Spring Boot 应用程序 docker 化以进行部署,我们将学习如何创建 Spring Boot 应用程序,以及如何为 Spring Boot 应用程序创建docker 镜像,并在docker 容器上运行它。

目录

  • Spring Boot 中的 Docker 是什么?
  • Spring Boot Docker Compose 做什么?
  • Docker化独立的Spring Boot应用程序
  • 如何在 Docker Compose 中部署 Spring Boot 应用程序?
  • 在容器中运行 Spring Boot Docker 映像
  • 如何更改基础镜像
  • 使用 Docker Compose 工具将 Spring Boot 应用程序 Docker 化

Spring Boot 中的 Docker 是什么?

Spring Boot应用程序中的Docker有助于将 Spring Boot 应用程序容器化。它支持应用程序提供一致性、可扩展性和易于部署。使用 Docker 时,开发人员将能够将应用程序与其依赖项和配置一起打包,确保它在不同环境中以相同的方式运行。这种方法有助于简化应用程序部署,提高资源利用率和增强可扩展性,使其成为现代云原生应用程序的理想选择。

使用 Maven 将 Spring Boot 应用程序 Docker 化是让您的应用程序更易于移植和管理的重要步骤。对于那些希望深入探索 Docker 化并掌握从开发到生产的整个过程的人来说,DevOps 工程 - 规划到生产课程提供了全面的指南。

Spring Boot Docker Compose 做什么?

使用docker compose 编写spring boot java 应用程序有助于实现多容器 spring boot 应用程序的无缝部署和管理。以下是它的一些好处:

  • 简化配置:它支持在单个 YAML 文件中定义和管理 Spring Boot 应用程序以及数据库和其他服务。
  • 一致的环境:它确保应用程序在开发、测试和生产环境中以相同的方式运行,从而最大限度地减少系统问题。
  • 可扩展性:它提供可扩展性功能,可以根据需求轻松地扩展或缩小 Spring Boot 服务,从而优化资源使用。
  • 高效的编排:实现相互依赖服务的启动、关闭和管理的自动化,从而简化部署过程。

Docker化独立的Spring Boot应用程序

独立 Spring Boot 应用程序:独立 Spring Boot 应用程序是利用 Spring Boot 框架的 Java 应用程序,无需外部服务器软件即可独立运行。它嵌入应用程序服务器,可以作为独立JAR 文件执行,从而简化部署并减少依赖性。

要将 Spring Boot 应用程序 docker 化,我们首先需要创建一个简单的 Spring Boot 应用程序。然后我们需要将 Maven 插件添加到我们的 XML 文件中,之后我们可以创建一个可执行 jar 文件。下一节将讨论并指导其实现。

如何在 Docker Compose 中部署 Spring Boot 应用程序?

以下是指导将 Spring Boot 应用程序 docker 化的步骤:

步骤 1:使用https://start.spring.io创建骨架应用程序。

第 2 步:现在创建一个具有以下配置的 maven 项目。输入所有详细信息后,单击“生成”按钮下载项目。

步骤3:解压压缩文件。

  • 现在,在您选择的 IDE 中打开它。

Spring Boot 构建包

借助 Spring Boot buildpacks,将 Spring Boot 应用打包到容器镜像中时无需Dockerfile和手动配置。它允许开发人员利用针对其 Spring Boot 项目的自动镜像生成功能,从而让他们能够专注于编写代码。

这些构建包会自动识别应用程序的先决条件,包括运行时参数和依赖项,并将所有内容组合在一起以制作适合生产的容器映像。这提高了开发人员的工作效率,简化了容器化过程,并提高了部署之间的一致性。

步骤 4:下面是使用 buildpacks 创建 docker 镜像的依赖项。现在我们需要在 pom.xml 文件中添加以下 Maven 插件。

<build>
      <plugins>
              <plugin>
                      <groupId>org.springframework.boot</groupId>
                      <artifactId>spring-boot-maven-plugin</artifactId>
              </plugin>
       </plugins>
</build>

第五步:打开项目的基础java文件,向应用程序的基类添加一个新的控制器。

@RequestMapping("/")
public String home() {return "Dockerizing Spring Boot Application";
}

步骤 6:现在,添加@RestController注释并导入所需的包。最后,您的 Application.java 文件应如下所示。

Java

package com.docker.spring;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@SpringBootApplication
@RestController
public class Application {

    @RequestMapping("/")
    public String home() {
        return "Dockerizing Spring Boot Application";
    }

    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }

}

步骤 7:现在通过运行以下命令启动应用程序,

$ ./mvnw spring-boot:run

  • 以下屏幕截图说明 java sprint boot 应用程序成功运行。

步骤8:导航到http://localhost:8080来测试应用程序。

项目结构

  • 此时项目结构应该是这样的,

Docker化我们的应用程序

步骤 9:生成 .jar 文件

  • 接下来,让我们通过在 IntelliJ 终端中执行命令 ./mvnw clean package 来生成 .jar 文件。此命令将编译项目、运行任何必要的测试,并将应用程序打包到 .jar 文件中。
  • 该过程完成后,导航到项目目录中的目标文件夹。您将在那里找到生成的 spring-0.0.1-SNAPSHOT.jar 文件。
  • 现在使用 maven builder 创建一个新的 jar 文件。
$ ./mvnw clean package
  • 上述命令将构建我们的 docker 镜像。下图表示通过执行上述命令生成 jar 文件。参考第二张图,构建成功并创建了 jar 文件。

  • 以下屏幕截图说明了使用 Maven 构建工具成功构建 Java 应用程序。

步骤 10:创建 Dockerfile

  • 在项目根目录下运行以下命令来构建 Dockerfile。此命令将在当前目录中创建一个空的Dockerfile 。
  • 创建 Dockerfile 后,您可以按照以下步骤继续定义构建Docker 映像所需的指令。

$ touch Dockerfile

步骤 11:添加配置以将 Spring Boot 应用程序 docker 化

  • 现在我们有一个可以运行的 Spring Boot 应用程序,要将应用程序 Docker 化,现在将以下内容粘贴到 Dockerfile 中:
FROM openjdk:18
WORKDIR /app
COPY ./target/spring-0.0.1-SNAPSHOT.jar /app
EXPOSE 8080
CMD ["java", "-jar", "spring-0.0.1-SNAPSHOT.jar"]

上述文件包含以下信息:

  • FROM openjdk:18–此行指定Docker 容器的基础镜像。在本例中,它使用标记为版本 18 的官方 OpenJDK 镜像。此镜像为 Java 应用程序提供运行时环境。
  • WORKDIR /app此行将容器内的工作目录设置为/app。所有后续命令都将相对于此目录执行。
  • COPY ./target/spring-0.0.1-SNAPSHOT.jar /app此命令将 Spring Boot 应用程序 JAR 文件从主机./target目录复制到/app容器内的目录。假设您已构建 Spring Boot 应用程序并且 JAR 文件位于指定位置。
  • EXPOSE 8080 - 此行通知 Docker 容器将在运行时监听端口 8080。但是,它实际上并未发布端口。它只是容器预期使用哪些端口的文档。
  • CMD ["java", "-jar", "spring-0.0.1-SNAPSHOT.jar"] - 此命令指定容器启动时要运行的默认命令。它通过java -jar使用 Spring Boot JAR 文件作为参数执行命令来启动 Spring Boot 应用程序。

步骤 12:现在使用 docker build 命令创建一个 docker 镜像:

$ docker build -t [name:tag] .
  • -t:镜像的名称和标签
  • . :构建过程的背景

构建过程完成后,您将收到新镜像的 ID 和标签。

在容器中运行 Spring Boot Docker 映像

在容器中运行我们的镜像之前,让我们确保在尝试将容器端口映射到本地主机端口时避免任何潜在错误。为此,我们需要在Docker 命令Docker Compose文件中指定正确的端口绑定配置。这可确保容器的端口已公开并可从主机系统访问。

步骤 13:通过运行以下命令创建 Docker 容器:

$ docker run -d -p [host_port]:[container_port] --name [container_name] [image_id/image_tag]

  • -d:运行容器并打印容器ID。
  • -p:映射容器的端口
  • –name:为容器指定名称

步骤 14:通过运行以下命令验证容器是否已成功创建:

$ docker container ps

步骤15:检查项目

  • 确保项目结构符合标准程序并具有 Spring Boot 应用程序所需的所有部分。
  • 此外,确认应用程序的目录结构合理且定义明确,并且所有依赖项都配置正确。

步骤 16:检查申请

  • 打开 Web 浏览器并转到 http://localhost:8080/ 来检查该程序。这将显示计算机上正在运行的本地 Spring Boot 应用程序。

如何更改基础镜像

修改 Dockerfile 中的基础映像是一个简单的过程,但可能会对容器的大小、安全性和功能产生很大影响。请按照以下步骤修改基础映像:

1. 选择一个新的基础镜像 在进行任何更改之前,进行彻底的研究以获得符合应用程序要求的合适的基础镜像非常重要。

  • 操作系统、图片大小、安全功能以及与应用程序堆栈的兼容性都是需要考虑的重要因素。
  • 应优先考虑来自 Docker Hub 或其他可靠来源的官方镜像,以确保可靠性并符合安全最佳实践。
  • 通过仔细权衡这些考虑因素,您可以选择一个既能优化速度又能保证安全性的基础映像,作为您的容器化应用程序的坚实基础。

2. 更新 Dockerfile: 打开文本编辑器并选择您的 Dockerfile。查找文件开头的指令“FROM”,它表示当前基础映像。

  • 用新镜像替换现有镜像,如下面的示例所示。
FROM image:version  #Change the image and version as per your requirement

3. 调整依赖项和配置:由于新旧基础镜像之间的差异,可能需要更新 Dockerfile 中的依赖项、配置或指令。

  • 确保在新的基础映像上安装并配置了所有必需的工具、库和包。

4.验证您的更改:对 Dockerfile 进行更改后,使用“docker build”命令重新创建您的 Docker 映像:

docker build -t [name:tag] .

使用 Docker Compose 工具将 Spring Boot 应用程序 Docker 化

Dockerfiles 和 Docker 命令非常适合构建单个容器。如果我们想在应用程序的共享网络上操作,容器管理就会变慢。

Docker 提供了一个名为 Docker Compose 的工具来解决此问题。此实用程序采用 YAML 中独特的构建文件格式。多个服务的配置可以合并到一个名为 docker-compose.yml 的文件中。

Docker Compose 文件

以下是 Docker Compose 文件示例,它是用于编排多个服务的基本配置。它定义了两个服务“service1”和“service2”,每个服务都具有指定的 Docker 镜像、容器名称、公开端口和环境变量。我们可以根据需要修改版本。

版本:'3.8'
 

version: '3.8'services:spring-boot-app:image: openjdk:18container_name: spring-boot-appworking_dir: /appvolumes:- ./target/spring-0.0.1-SNAPSHOT.jar:/app/spring-0.0.1-SNAPSHOT.jarports:- "8080:8080"environment:- SPRING_DATASOURCE_URL=jdbc:mysql://db:3306/mydatabase- SPRING_DATASOURCE_USERNAME=root- SPRING_DATASOURCE_PASSWORD=exampledepends_on:- dbcommand: ["java", "-jar", "spring-0.0.1-SNAPSHOT.jar"]db:image: mysql:8.0container_name: dbenvironment:MYSQL_ROOT_PASSWORD: exampleMYSQL_DATABASE: mydatabaseports:- "3306:3306"volumes:- db_data:/var/lib/mysqlvolumes:db_data:
  • 以下命令用于构建docker-compose文件:
$ docker-compose config
  • 为了构建映像并创建 Docker 容器,我们可以使用以下命令:

$ docker-compose up --build

  • 要停止容器,我们应该将其从 Docker 中删除。为此,我们可以使用以下命令:

$docker-compose down

扩展服务

Docker Compose 中的扩展服务是指能够增加或减少 Docker Compose 文件中定义的服务实例数量。这可以通过调整服务的“scale”属性来指定要为该服务运行的容器数量来实现。

$ docker-compose --file docker-compose.yml up -d --build --scale service=1 --scale product-server=1

此操作将启动单个服务服务器和单个产品服务器。

最后

因此,通过这种方式,我们可以使用 Maven 插件将镜像发布到 Docker 容器。最好不要使用本地环境将 docker 镜像上传到任何注册表,使用CI/CD管道或任何工具始终是最佳实践。

使用 Maven 将 Spring Boot 应用程序 Docker 化 - 常见问题解答

如何将 Maven 项目 Docker化?

在项目根目录中创建一个Dockerfile,将应用程序的 JAR 文件复制到Docker 镜像中,并提供在容器内启动应用程序的命令,以便 Docker 化Maven 项目。

如何使用 Maven 建立 Spring Boot 应用程序?

创建一个新的 Maven 项目,并将必要的依赖项(例如 spring-boot-starter-parent 以及应用程序要求特有的任何其他依赖项)添加到 pom.xml 文件中,以使用 Maven 设置 Spring Boot 应用程序。接下来,按照推荐的目录布局为您的 Spring Boot 应用程序开发类和资源。

如何将 Spring Boot 微服务 Docker 化?

创建一个指定基础镜像的 Dockerfile,复制应用程序 JAR 文件,公开必要的端口,并描述启动应用程序的命令,以便将 Spring Boot微服务docker 化。接下来创建 Docker 镜像,并使用它来启动容器。

如何将我的项目 Docker化?

制作一个 Dockerfile,列出基础镜像、所需的库以及用于构建和执行应用程序的命令,以便将您的项目 Docker 化。

什么是 Dockerize 命令?

使用 Dockerize 命令可以将应用程序打包到Docker 容器中,从而可以轻松地在各种上下文中部署和执行。通常,它需要生成 Dockerfile,使用 docker build 生成镜像,然后使用 docker run 启动容器。

相关文章:

Spring Boot教程之三十九: 使用 Maven 将 Spring Boot 应用程序 Docker 化

如何使用 Maven 将 Spring Boot 应用程序 Docker 化&#xff1f; Docker是一个开源容器化工具&#xff0c;用于在隔离环境中构建、运行和管理应用程序。它方便开发人员捆绑其软件、库和配置文件。Docker 有助于将一个容器与另一个容器隔离。在本文中&#xff0c;为了将Spring B…...

微信小程序开发示例

微信小程序开发涉及多个方面&#xff0c;包括页面布局、交互逻辑、数据处理等。以下是一个简单的微信小程序开发示例&#xff0c;包括页面布局、样式定义、交互逻辑等方面的内容。 一、页面布局&#xff08;WXML&#xff09; <!-- index.wxml --> <view class"…...

【机器学习】概述

文章目录 1. 机器学习三步骤2. 机器学习图谱2.1 任务类型 (Task)2.2 模型选择 (Methods)2.3 学习场景 (Scenario) 1. 机器学习三步骤 定义一个模型 (Define a set of function) 选择一组合适的函数来表示模型。 评估模型好坏 (Goodness of function) 找到一个损失函数&#xf…...

音视频采集推流时间戳记录方案

音视频同步更多文章 深入理解音视频pts&#xff0c;dts&#xff0c;time_base以及时间数学公式_视频pts计算-CSDN博客 ffplay音视频同步分析_ffplay 音视频同步-CSDN博客 音视频采集打时间戳设计 实时音视频数据的采集和处理场景。具体来说: 采集阶段: 在音视频数据采集过…...

【Linux】:线程安全 + 死锁问题

&#x1f4c3;个人主页&#xff1a;island1314 &#x1f525;个人专栏&#xff1a;Linux—登神长阶 ⛺️ 欢迎关注&#xff1a;&#x1f44d;点赞 &#x1f442;&#x1f3fd;留言 &#x1f60d;收藏 &#x1f49e; &#x1f49e; &#x1f49e; 1. 线程安全和重入问题&…...

【深度学习】时间序列表示方法

自然界除了2D的图片数据之外&#xff0c;还有语音、文字&#xff0c;这些数据都有时间的先后顺序的。对于2D的图像的数据&#xff0c;可以用RGB值来表示像素的色彩度。语音可以用信号幅度值来表示&#xff0c;而Pytorch没有自带String支持&#xff0c;在表示文字之前需要进行Em…...

1.微服务灰度发布落地实践(方案设计)

文章目录 前言灰度发布的优点设计概要系统架构图流量控制客户端服务端 路由路径应用客户端实现核心组件分析1.网关2. spring-cloud3. dubbo4. nocas5. thread6. message queue 前言 微服务架构中的灰度发布&#xff08;也称为金丝雀发布或渐进式发布&#xff09;是一种在不影响…...

【UE5 C++课程系列笔记】15——Assert的基本使用

目录 概念 一、Check 二、Verify 三、Ensure 对比 基本使用 一、check的基本使用 二、ensure的基本使用 三、verify的基本使用 概念 assert 可在开发期间帮助检测和诊断不正常或无效的运行时条件。这些条件通常检查是否指针为非空、除数为非零、函数并非递归运行&…...

kubernetes Gateway API-1-部署和基础配置

文章目录 1 部署2 最简单的 Gateway3 基于主机名和请求头4 重定向 Redirects4.1 HTTP-to-HTTPS 重定向4.2 路径重定向4.2.1 ReplaceFullPath 替换完整路径4.2.2 ReplacePrefixMatch 替换路径前缀5 重写 Rewrites5.1 重写 主机名5.2 重写 路径5.2.1 重新完整路径5.2.1 重新部分路…...

likeAdmin架构部署(踩坑后的部署流程

1、gitee下载 https://gitee.com/likeadmin/likeadmin_java.git 自己克隆 2、项目注意 Maven&#xff1a;>3.8 ❤️.9 (最好不要3.9已经试过失败 node &#xff1a;node14 (不能是18 已经测试过包打不上去使用14的换源即可 JDK&#xff1a;JDK8 node 需要换源 npm c…...

【一款超好用的开源笔记Logseq本地Docker部署与远程使用指南】

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…...

浅谈torch.utils.data.TensorDataset和torch.utils.data.DataLoader

1.torch.utils.data.TensorDataset 功能定位 torch.utils.data.TensorDataset 是一个将多个张量&#xff08;Tensor&#xff09;数据进行简单包装整合的数据集类&#xff0c;它主要的作用是将相关联的数据&#xff08;比如特征数据和对应的标签数据等&#xff09;组合在一起&…...

gesp(C++二级)(16)洛谷:B4037:[GESP202409 二级] 小杨的 N 字矩阵

gesp(C++二级)(16)洛谷:B4037:[GESP202409 二级] 小杨的 N 字矩阵 题目描述 小杨想要构造一个 m m m \times m m...

FFmpeg:详细安装教程与环境配置指南

FFmpeg 部署完整教程 在本篇博客中&#xff0c;我们将详细介绍如何下载并安装 FFmpeg&#xff0c;并将其添加到系统的环境变量中&#xff0c;以便在终端或命令行工具中直接调用。无论你是新手还是有一定基础的用户&#xff0c;这篇教程都能帮助你轻松完成 FFmpeg 的部署。 一、…...

《特征工程:自动化浪潮下的坚守与变革》

在机器学习的广阔天地中&#xff0c;特征工程一直占据着举足轻重的地位。它宛如一位幕后的工匠&#xff0c;精心雕琢着原始数据&#xff0c;将其转化为能够被机器学习模型高效利用的特征&#xff0c;从而推动模型性能迈向新的高度。然而&#xff0c;随着技术的飞速发展&#xf…...

webrtc 源码阅读 make_ref_counted模板函数用法

目录 1. 模板参数解析 1.1 typename T 1.2 typename... Args 1.3 typename std::enable_if::value, T>::type* nullptr 2. scoped_refptr 3. new RefCountedObject(std::forward(args)...); 4. 综合说明 5.在webrtc中的用法 5.1 peerConnectionFactory对象的构建过…...

【深度学习基础之多尺度特征提取】特征金字塔(Feature Pyramid)是如何在深度学习网络中提取多尺度特征的?附代码

【深度学习基础之多尺度特征提取】特征金字塔&#xff08;Feature Pyramid&#xff09;是如何在深度学习网络中提取多尺度特征的&#xff1f;附代码 【深度学习基础之多尺度特征提取】特征金字塔&#xff08;Feature Pyramid&#xff09;是如何在深度学习网络中提取多尺度特征…...

【Docker】离线安装 Docker

离线安装 Docker 在CentOS系统上安装Docker 1、下载 Docker 仓库文件 https://download.docker.com/linux/centos/docker-ce.repo 2、添加 Docker 仓库文件 将上一步下载的文件&#xff0c;移动到 /etc/yum.repos.d/ 目录 3、清除 YUM 缓存 sudo yum clean all sudo yum…...

三大行业案例:AI大模型+Agent实践全景

本文将从AI Agent和大模型的发展背景切入&#xff0c;结合51Talk、哈啰出行以及B站三个各具特色的行业案例&#xff0c;带你一窥事件驱动架构、RAG技术、人机协作流程&#xff0c;以及一整套行之有效的实操方法。具体包含内容有&#xff1a;51Talk如何让智能客服“主动进攻”&a…...

Dockerfile基础指令

1.FROM 基于基准镜像&#xff08;建议使用官方提供的镜像作为基准镜像&#xff0c;相对安全一些&#xff09; 举例&#xff1a; 制作基准镜像&#xff08;基于centos:lastest&#xff09; FROM cenots 不依赖于任何基准镜像 FROM scratch 依赖于9.0.22版本的tomcat镜像 FROM…...

HTML 语义化

目录 HTML 语义化HTML5 新特性HTML 语义化的好处语义化标签的使用场景最佳实践 HTML 语义化 HTML5 新特性 标准答案&#xff1a; 语义化标签&#xff1a; <header>&#xff1a;页头<nav>&#xff1a;导航<main>&#xff1a;主要内容<article>&#x…...

【决胜公务员考试】求职OMG——见面课测验1

2025最新版&#xff01;&#xff01;&#xff01;6.8截至答题&#xff0c;大家注意呀&#xff01; 博主码字不易点个关注吧,祝期末顺利~~ 1.单选题(2分) 下列说法错误的是:&#xff08; B &#xff09; A.选调生属于公务员系统 B.公务员属于事业编 C.选调生有基层锻炼的要求 D…...

OpenLayers 分屏对比(地图联动)

注&#xff1a;当前使用的是 ol 5.3.0 版本&#xff0c;天地图使用的key请到天地图官网申请&#xff0c;并替换为自己的key 地图分屏对比在WebGIS开发中是很常见的功能&#xff0c;和卷帘图层不一样的是&#xff0c;分屏对比是在各个地图中添加相同或者不同的图层进行对比查看。…...

DeepSeek 技术赋能无人农场协同作业:用 AI 重构农田管理 “神经网”

目录 一、引言二、DeepSeek 技术大揭秘2.1 核心架构解析2.2 关键技术剖析 三、智能农业无人农场协同作业现状3.1 发展现状概述3.2 协同作业模式介绍 四、DeepSeek 的 “农场奇妙游”4.1 数据处理与分析4.2 作物生长监测与预测4.3 病虫害防治4.4 农机协同作业调度 五、实际案例大…...

鸿蒙DevEco Studio HarmonyOS 5跑酷小游戏实现指南

1. 项目概述 本跑酷小游戏基于鸿蒙HarmonyOS 5开发&#xff0c;使用DevEco Studio作为开发工具&#xff0c;采用Java语言实现&#xff0c;包含角色控制、障碍物生成和分数计算系统。 2. 项目结构 /src/main/java/com/example/runner/├── MainAbilitySlice.java // 主界…...

力扣-35.搜索插入位置

题目描述 给定一个排序数组和一个目标值&#xff0c;在数组中找到目标值&#xff0c;并返回其索引。如果目标值不存在于数组中&#xff0c;返回它将会被按顺序插入的位置。 请必须使用时间复杂度为 O(log n) 的算法。 class Solution {public int searchInsert(int[] nums, …...

为什么要创建 Vue 实例

核心原因:Vue 需要一个「控制中心」来驱动整个应用 你可以把 Vue 实例想象成你应用的**「大脑」或「引擎」。它负责协调模板、数据、逻辑和行为,将它们变成一个活的、可交互的应用**。没有这个实例,你的代码只是一堆静态的 HTML、JavaScript 变量和函数,无法「活」起来。 …...

实战三:开发网页端界面完成黑白视频转为彩色视频

​一、需求描述 设计一个简单的视频上色应用&#xff0c;用户可以通过网页界面上传黑白视频&#xff0c;系统会自动将其转换为彩色视频。整个过程对用户来说非常简单直观&#xff0c;不需要了解技术细节。 效果图 ​二、实现思路 总体思路&#xff1a; 用户通过Gradio界面上…...

学习一下用鸿蒙​​DevEco Studio HarmonyOS5实现百度地图

在鸿蒙&#xff08;HarmonyOS5&#xff09;中集成百度地图&#xff0c;可以通过以下步骤和技术方案实现。结合鸿蒙的分布式能力和百度地图的API&#xff0c;可以构建跨设备的定位、导航和地图展示功能。 ​​1. 鸿蒙环境准备​​ ​​开发工具​​&#xff1a;下载安装 ​​De…...

DAY 26 函数专题1

函数定义与参数知识点回顾&#xff1a;1. 函数的定义2. 变量作用域&#xff1a;局部变量和全局变量3. 函数的参数类型&#xff1a;位置参数、默认参数、不定参数4. 传递参数的手段&#xff1a;关键词参数5 题目1&#xff1a;计算圆的面积 任务&#xff1a; 编写一…...