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

博主主页:【南鸢1.0】

本文专栏:JAVA | SpringBoot

目录

一、项目概述

二、项目结构

三、环境准备

四、Maven 配置及依赖

五、数据库设计

六、Spring Boot 项目结构

1. 主应用程序

2. 数据模型

3. MyBatis Mapper

4. 服务层

5. 控制器

6. MyBatis 配置

七、打包与部署

打包为 JAR 文件

运行 JAR 文件

八、总结


一、项目概述

本文将介绍如何使用 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 进行项目管理和打包。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

南鸢1.0

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值