自学内容网 自学内容网

Spring Boot 应用开发及项目部署图

一、项目概述

本文将介绍如何使用 Spring Boot 和 MySQL 数据库进行一个简单的 Web 应用开发。应用将使用 MyBatis 作为 ORM 框架,使用 Maven 进行项目管理,并最终打包为 JAR 文件进行部署。

二、项目结构

整个项目将分为以下几个部分:

  • 项目模块:包含主要代码、配置等。
  • 数据库:使用 MySQL 存储数据。
  • Maven 配置:用于管理依赖和构建项目。
  • 打包部署:生成可执行的 JAR 文件。

三、环境准备

  1. JDK:确保安装 Java 8 或更高版本。
  2. Maven:安装 Maven 以便进行依赖管理和项目构建。
  3. MySQL:安装并配置 MySQL 数据库。
  4. IDE:推荐使用 IntelliJ IDEA 或 Eclipse 作为开发环境。

四、Maven 配置及依赖

在项目的 pom.xml 中添加必要的依赖:

<project xmlns="http://maven.apache.org/POM/4.0.0"  
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">  
    <modelVersion>4.0.0</modelVersion>  
    <groupId>com.example</groupId>  
    <artifactId>spring-boot-demo</artifactId>  
    <version>1.0-SNAPSHOT</version>  
    <packaging>jar</packaging>  

    <properties>  
        <java.version>1.8</java.version>  
        <spring.boot.version>2.6.6</spring.boot.version>  
    </properties>  

    <dependencies>  
        <!-- Spring Boot Starter Web -->  
        <dependency>  
            <groupId>org.springframework.boot</groupId>  
            <artifactId>spring-boot-starter-web</artifactId>  
        </dependency>  
        <!-- MyBatis -->  
        <dependency>  
            <groupId>org.mybatis.spring.boot</groupId>  
            <artifactId>mybatis-spring-boot-starter</artifactId>  
            <version>2.1.3</version>  
        </dependency>  
        <!-- MySQL Connector -->  
        <dependency>  
            <groupId>mysql</groupId>  
            <artifactId>mysql-connector-java</artifactId>  
            <version>8.0.26</version>  
        </dependency>  
        <!-- Spring Boot Starter Test -->  
        <dependency>  
            <groupId>org.springframework.boot</groupId>  
            <artifactId>spring-boot-starter-test</artifactId>  
            <scope>test</scope>  
        </dependency>  
    </dependencies>  

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

五、数据库设计

创建一个名为 user 的表用于存储用户信息:

CREATE DATABASE spring_boot_demo;  

USE spring_boot_demo;  

CREATE TABLE user (  
    id INT AUTO_INCREMENT PRIMARY KEY,  
    name VARCHAR(100) NOT NULL,  
    email VARCHAR(100) NOT NULL UNIQUE  
);

六、Spring Boot 项目结构

在 src/main/java/com/example/springbootdemo 下创建项目结构:

com.example.springbootdemo  
├── SpringBootDemoApplication.java  
├── config  
│   └── MyBatisConfig.java  
├── controller  
│   └── UserController.java  
├── mapper  
│   └── UserMapper.java  
├── model  
│   └── User.java  
└── service  
    └── UserService.java

1. 主应用程序

package com.example.springbootdemo;  

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

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

2. 数据模型

package com.example.springbootdemo.model;  

public class User {  
    private Integer id;  
    private String name;  
    private String email;  

    // Getters and Setters  
}

3. MyBatis Mapper

package com.example.springbootdemo.mapper;  

import com.example.springbootdemo.model.User;  
import org.apache.ibatis.annotations.*;  

import java.util.List;  

@Mapper  
public interface UserMapper {  
    @Select("SELECT * FROM user")  
    List<User> findAll();  

    @Insert("INSERT INTO user(name, email) VALUES(#{name}, #{email})")  
    void insert(User user);  
}

4. 服务层

package com.example.springbootdemo.service;  

import com.example.springbootdemo.mapper.UserMapper;  
import com.example.springbootdemo.model.User;  
import org.springframework.beans.factory.annotation.Autowired;  
import org.springframework.stereotype.Service;  

import java.util.List;  

@Service  
public class UserService {  
    @Autowired  
    private UserMapper userMapper;  

    public List<User> getAllUsers() {  
        return userMapper.findAll();  
    }  

    public void addUser(User user) {  
        userMapper.insert(user);  
    }  
}

5. 控制器

package com.example.springbootdemo.controller;  

import com.example.springbootdemo.model.User;  
import com.example.springbootdemo.service.UserService;  
import org.springframework.beans.factory.annotation.Autowired;  
import org.springframework.web.bind.annotation.*;  

import java.util.List;  

@RestController  
@RequestMapping("/users")  
public class UserController {  
    @Autowired  
    private UserService userService;  

    @GetMapping  
    public List<User> getAllUsers() {  
        return userService.getAllUsers();  
    }  

    @PostMapping  
    public void addUser(@RequestBody User user) {  
        userService.addUser(user);  
    }  
}

6. MyBatis 配置

在 application.yml 中配置数据库连接和 MyBatis 设置:

spring:  
  datasource:  
    url: jdbc:mysql://localhost:3306/spring_boot_demo?useSSL=false&serverTimezone=UTC  
    username: root  
    password: yourpassword  
  mybatis:  
    mapper-locations: classpath:mapper/*.xml

七、打包与部署

打包为 JAR 文件

在项目根目录下运行以下命令以打包项目:

mvn clean package

打包完成后,可以在 target 目录中找到生成的 spring-boot-demo-1.0-SNAPSHOT.jar 文件。

运行 JAR 文件

使用以下命令运行生成的 JAR 文件:

java -jar target/spring-boot-demo-1.0-SNAPSHOT.jar

访问 http://localhost:8080/users 来测试应用程序。

八、总结

通过本文,我们完成了一个简单的 Spring Boot Web 应用程序的开发,使用了 MySQL 数据库和 MyBatis 进行数据交互,并通过 Maven 进行项目管理和打包。


原文地址:https://blog.csdn.net/qq_52143611/article/details/142913185

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!