【Java项目脚手架系列】第六篇:Spring Boot + JPA项目脚手架

【Java项目脚手架系列】第六篇:Spring Boot + JPA项目脚手架

前言

在前面的文章中,我们介绍了 Spring Boot + MyBatis 项目脚手架。今天,我们将介绍 Spring Boot + JPA 项目脚手架,这是一个用于快速搭建企业级应用的框架。

什么是 Spring Boot + JPA?

Spring Boot + JPA 是一个强大的组合,它提供了:

  1. Spring Boot 的快速开发能力
  2. JPA 的对象关系映射
  3. 完整的数据库操作支持
  4. 事务管理能力
  5. 测试框架支持

技术栈

  • Spring Boot 2.7.0:核心框架
  • Spring Data JPA:持久层框架
  • MySQL 8.0:关系型数据库
  • H2 Database:内存数据库,用于测试
  • JUnit 5:测试框架
  • Mockito:测试框架
  • Maven 3.9.6:项目构建工具

Spring Boot + JPA 项目脚手架

1. 项目结构

src
├── main
│   ├── java
│   │   └── com
│   │       └── example
│   │           ├── Application.java
│   │           ├── config
│   │           │   └── DataInitializer.java
│   │           ├── controller
│   │           │   └── UserController.java
│   │           ├── entity
│   │           │   └── User.java
│   │           ├── repository
│   │           │   └── UserRepository.java
│   │           └── service
│   │               ├── UserService.java
│   │               └── impl
│   │                   └── UserServiceImpl.java
│   └── resources
│       └── application.yml
└── test
    └── java
        └── com
            └── example
                ├── controller
                │   └── UserControllerTest.java
                ├── repository
                │   └── UserRepositoryTest.java
                └── service
                    └── UserServiceTest.java

2. 核心文件内容

2.1 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.0modelVersion>

    <groupId>com.examplegroupId>
    <artifactId>springboot-jpa-scaffoldartifactId>
    <version>1.0-SNAPSHOTversion>

    <parent>
        <groupId>org.springframework.bootgroupId>
        <artifactId>spring-boot-starter-parentartifactId>
        <version>2.7.0version>
        <relativePath/>
    parent>

    <properties>
        <java.version>1.8java.version>
        <project.build.sourceEncoding>UTF-8project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8project.reporting.outputEncoding>
        <maven.compiler.source>1.8maven.compiler.source>
        <maven.compiler.target>1.8maven.compiler.target>
    properties>

    <dependencies>
        
        <dependency>
            <groupId>org.springframework.bootgroupId>
            <artifactId>spring-boot-starter-webartifactId>
        dependency>

        
        <dependency>
            <groupId>org.springframework.bootgroupId>
            <artifactId>spring-boot-starter-data-jpaartifactId>
        dependency>

        
        <dependency>
            <groupId>mysqlgroupId>
            <artifactId>mysql-connector-javaartifactId>
            <scope>runtimescope>
        dependency>

        
        <dependency>
            <groupId>com.h2databasegroupId>
            <artifactId>h2artifactId>
            <scope>runtimescope>
        dependency>

        
        <dependency>
            <groupId>org.projectlombokgroupId>
            <artifactId>lombokartifactId>
            <optional>trueoptional>
        dependency>

        
        <dependency>
            <groupId>org.springframework.bootgroupId>
            <artifactId>spring-boot-starter-testartifactId>
            <scope>testscope>
        dependency>
    dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.bootgroupId>
                <artifactId>spring-boot-maven-pluginartifactId>
                <configuration>
                    <excludes>
                        <exclude>
                            <groupId>org.projectlombokgroupId>
               

你可能感兴趣的:(Java项目脚手架指南,java,spring,boot,开发语言,jpa)