授课语音

商城项目搭建 Spring Boot 3 开发环境,配置基本项目结构

本课件将指导您如何在商城项目中搭建 Spring Boot 3 的开发环境,并配置基本的项目结构。通过创建一个清晰的项目架构,确保系统的可扩展性、可维护性和开发效率。我们将结合 Spring Boot 3 和 Vue3,介绍如何配置前后端分离的开发环境。


1. Spring Boot 3 开发环境搭建

1.1 环境要求

  • Java 17 或更高版本:Spring Boot 3 需要 Java 17 及以上版本。
  • Maven 或 Gradle:用于项目的构建和依赖管理。
  • IDE:推荐使用 IntelliJ IDEA、Eclipse 或 VS Code。
  • 数据库:MySQL/PostgreSQL(根据实际需要选择)。

1.2 搭建 Spring Boot 3 环境

首先,确保您的计算机已经安装了 Java 17 和 Maven,或者 Gradle。

  • 下载并安装 Java 17(推荐 OpenJDK 17)。
  • 配置环境变量:
    • JAVA_HOME:指向 Java 安装目录。
    • PATH:添加 Java 的 bin 目录。
    • 使用 java -versionmvn -v 命令验证是否配置成功。

1.3 创建 Spring Boot 3 项目

使用 Spring Initializr 创建一个 Spring Boot 3 项目:

  1. 打开 Spring Initializr,选择如下配置:

    • 项目:Maven Project
    • 语言:Java
    • Spring Boot 版本:3.x
    • 项目元数据:
      • Group:com.mall
      • Artifact:mall
    • 依赖项:
      • Spring Web
      • Spring Data JPA
      • MySQL Driver(或您选择的数据库驱动)
      • Spring Security(可选,用于后期实现安全性)
  2. 生成项目并下载,解压后导入到 IDE 中。


2. 配置基本项目结构

2.1 项目结构说明

Spring Boot 3 项目的基本结构大致如下:

mall/
│
├── src/
│   ├── main/
│   │   ├── java/com/mall/
│   │   │   ├── MallApplication.java  // 启动类
│   │   │   ├── controller/          // 控制器
│   │   │   ├── service/             // 服务层
│   │   │   ├── repository/          // 数据库访问层
│   │   │   └── model/               // 实体类
│   │   ├── resources/
│   │   │   ├── application.properties  // 配置文件
│   │   │   └── static/                 // 静态资源(前端相关)
│   │   └── test/java/com/mall/         // 测试代码
├── pom.xml  // Maven 配置文件
└── README.md

中文注释

  • MallApplication.java:这是 Spring Boot 项目的启动类,包含 @SpringBootApplication 注解,启动整个应用。
  • controller/:存放控制器类,用于处理请求和返回响应。
  • service/:存放业务逻辑层代码。
  • repository/:存放与数据库交互的 DAO 层代码。
  • model/:存放实体类,用于映射数据库表结构。

2.2 配置 application.properties 文件

src/main/resources/application.properties 文件中配置项目的基本信息和数据库连接:

# 服务器配置
server.port=8080  # 项目启动端口

# 数据库配置
spring.datasource.url=jdbc:mysql://localhost:3306/mall_db?useSSL=false&serverTimezone=UTC
spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.jpa.hibernate.ddl-auto=update  # 自动更新数据库结构
spring.jpa.show-sql=true  # 显示执行的 SQL

# 日志级别
logging.level.org.springframework=INFO
logging.level.com.mall=DEBUG

中文注释

  • 配置 spring.datasource.urlspring.datasource.usernamespring.datasource.password 来连接数据库。
  • spring.jpa.hibernate.ddl-auto=update:自动根据实体类生成或更新数据库表结构。

2.3 创建 MallApplication 启动类

src/main/java/com/mall/ 目录下创建启动类 MallApplication.java

package com.mall;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication  // 启动 Spring Boot 应用
public class MallApplication {

    public static void main(String[] args) {
        SpringApplication.run(MallApplication.class, args);  // 启动应用
    }
}

中文注释

  • @SpringBootApplication 注解是 Spring Boot 应用的入口注解,包含了 @Configuration@EnableAutoConfiguration@ComponentScan 注解。

3. 配置前后端分离

为了实现前后端分离,我们将使用 Vue3 来开发前端,Spring Boot 提供 RESTful API 供前端调用。

3.1 Vue3 前端项目结构

  1. 使用 Vue CLI 创建一个 Vue3 项目:
npm install -g @vue/cli
vue create mall-frontend
  1. 配置 Vue3 与 Spring Boot 进行前后端分离,前端代码存放在 src/ 目录下。

  2. 通过 axios 进行 HTTP 请求调用 Spring Boot 后端 API。

3.2 后端接口示例

创建一个简单的商品管理 API,放在 controller 层:

package com.mall.controller;

import com.mall.model.Product;
import com.mall.service.ProductService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.List;

@RestController
@RequestMapping("/api/products")
public class ProductController {

    @Autowired
    private ProductService productService;

    @GetMapping
    public List<Product> getAllProducts() {
        return productService.getAllProducts();  // 返回所有商品
    }

    @PostMapping
    public Product createProduct(@RequestBody Product product) {
        return productService.createProduct(product);  // 创建商品
    }
}

中文注释

  • @RestController:定义这是一个 REST 风格的控制器。
  • @GetMapping@PostMapping:分别处理 GET 和 POST 请求。

3.3 前端 Vue3 示例

在前端使用 Vue3 和 axios 获取商品列表:

import axios from 'axios';

export default {
  data() {
    return {
      products: []
    };
  },
  created() {
    this.fetchProducts();  // 组件创建时获取商品数据
  },
  methods: {
    async fetchProducts() {
      try {
        const response = await axios.get('http://localhost:8080/api/products');
        this.products = response.data;
      } catch (error) {
        console.error("获取商品失败", error);
      }
    }
  }
};

中文注释

  • 使用 axios.get 方法从后端 API 获取商品数据。
  • 通过 this.products 将获取的商品数据展示到 Vue 组件中。

4. 总结

通过本课件的学习,您已经掌握了如何在商城项目中配置 Spring Boot 3 的开发环境,并搭建基本的项目结构。您还学习了如何将 Spring Boot 与 Vue3 结合,完成前后端分离的开发模式,为后续商城项目的开发奠定了坚实的基础。

去1:1私密咨询

系列课程: