Angular + Spring 文件上传示例

2025年3月25日 | 阅读 9 分钟

在本节中,我们将创建一个文件上传 Web 应用程序。此应用程序包含一个注册表单。在此集成中,我们使用 Spring 处理后端部分,并使用 Angular 处理前端部分。

应用程序的工作方式

  • 一旦我们将应用程序部署到服务器上,就会生成一个注册页面。
  • 用户可以填写所需的信息并上传图像。
  • 请记住,图像大小不得超过 1 MB。

要使用的工具

  • 使用任何 IDE 开发 Spring 和 Hibernate 项目。它可以是 MyEclipse/Eclipse/Netbeans。在这里,我们使用 Eclipse。
  • MySQL 用于数据库。
  • 使用任何 IDE 开发 Angular 项目。它可以是 Visual Studio Code/Sublime。在这里,我们使用 Visual Studio Code。
  • 服务器:Apache Tomcat/JBoss/Glassfish/Weblogic/Websphere。

我们使用的技术

在这里,我们使用以下技术

  • Spring 5
  • Hibernate 5
  • Angular 6
  • MYSQL

创建数据库

让我们创建一个数据库 fileuploadexample。无需创建表,因为 Hibernate 会自动创建它。

Spring 模块

让我们看看我们需要遵循的 Spring 目录结构

Spring Angular File Upload Application

要开发文件上传应用程序,请按照以下步骤操作:-

  • 将依赖项添加到 pom.xml 文件中。

pom.xml

  • 创建配置类
    我们使用基于注解的配置而不是 XML。因此,我们创建两个类并在其中指定所需的配置。

DemoAppConfig.java

MySpringMvcDispatcherServletInitializer.java

  • 创建实体类
    在这里,我们正在创建一个 Entity/POJO(Plain Old Java Object)类。

UserDetail.java

  • 创建 DAO 接口
    在这里,我们正在创建一个 DAO 接口来执行数据库相关操作。

UserDAO.java

  • 创建 DAO 接口实现类

UserDAOImpl.java

  • 创建服务层接口

在这里,我们正在创建一个服务层接口,它充当 DAO 和实体类之间的桥梁。

UserService.java

  • 创建服务层实现类

UserServiceImpl.java

  • 创建控制器类

UserController.java

  • 创建属性文件
    在这里,我们正在 src/main/resources 项目中创建属性文件。

application.properties

persistence-mysql.properties

Angular 模块

让我们看看我们需要遵循的 Angular 目录结构

Spring Angular File Upload Application
  • 创建一个 Angular 项目

让我们使用以下命令创建一个 Angular 项目

ng new FileUploadExample

Spring Angular File Upload Application
Spring Angular File Upload Application

这里,FileUploadExample 是项目的名称。

安装 Bootstrap CSS 框架

使用以下命令在项目中安装 Bootstrap。

现在,在 style.css 文件中包含以下代码。

  • 生成组件
    在 Visual Studio 中打开项目,然后使用以下命令生成 Angular 组件
    ng g c Register
Spring Angular File Upload Application

让我们也使用以下命令创建一个服务类:-

ng g s services/UserDetail

Spring Angular File Upload Application
  • 编辑 app.module.ts 文件
    • 导入 ReactiveFormsModule - 在这里,我们导入用于响应式表单的 ReactiveFormsModule,并在 imports 数组中指定它。
    • 导入 HttpModule - 在这里,我们导入用于服务器请求的 HttpModule,并在 imports 数组中指定它。
    • 注册服务类 - 在这里,我们在 provider 的数组中提到服务类。
  • 编辑 app.component.html 文件
  • 创建 UserDetail.ts

让我们使用以下命令创建一个类:-

ng g class classes/UserDetail

Spring Angular File Upload Application

现在,在 UserDetail 类中指定必需的字段。

此类目的是将指定字段与 Spring 实体类的字段进行映射。

  • 编辑 user-detail.service.ts 文件
  • 编辑 register.component.ts 文件
  • 编辑 register.component.html 文件

完成后,在 Web 浏览器上提供 URL https://:4200/。将出现以下网页

Spring Angular File Upload Application

现在,我们可以填写所需的信息并选择需要上传的文件。

Spring Angular File Upload Application