为了账号安全,请及时绑定邮箱和手机立即绑定

Springboot3+JDK17搭建后端入门教程

标签:
Java SpringBoot
概述

本文介绍了如何使用Springboot3和JDK17搭建后端入门项目,涵盖准备工作、创建项目、配置项目结构与核心概念、创建RESTful API服务以及运行和调试项目。通过详细步骤和示例代码,帮助开发者快速上手Spring Boot 3+JDK17搭建后端入门。本文从环境配置、项目开发到运行调试的全过程进行了介绍。

准备工作

检查系统环境

在开始开发Spring Boot项目之前,需要确保开发环境满足以下条件:

  • 操作系统:Windows、macOS、Linux等
  • Java版本:JDK 17
  • 开发工具:IntelliJ IDEA或Spring Tool Suite等

安装JDK17

  1. 访问Oracle官网或Eclipse官网下载JDK 17版本。
  2. 安装JDK,确保安装过程中勾选将JDK添加到环境变量中。
  3. 验证安装是否成功。
java -version

如果安装成功,应显示JDK版本信息如下:

java version "17"...

安装IDE

推荐使用IntelliJ IDEA或Spring Tool Suite(STS)。

IntellJ IDEA

  1. 访问IntelliJ IDEA官网下载社区版或专业版。
  2. 安装IDE,选择合适的安装路径。
  3. 启动IDE并进行必要的配置,如设置工作目录、配置VM选项等。

Spring Tool Suite(STS)

  1. 访问Spring官网下载STS。
  2. 安装STS,选择合适的安装路径。
  3. 启动STS并进行必要的配置。
创建Spring Boot项目

使用Spring Initializr创建新项目

Spring Initializr是一个在线工具,可以帮助快速创建Spring Boot项目。

  1. 打开Spring Initializr网站:https://start.spring.io/
  2. 选择项目基本信息:
    • Project: Maven Project
    • Language: Java
    • Spring Boot: 3.0.0
    • Dependencies: 添加需要的依赖,如Web、Thymeleaf、JPA等
  3. 点击“Generate”按钮下载项目压缩包。
  4. 解压项目压缩包到指定目录。

导入项目到IDE

  1. 打开IDE,选择导入项目。
  2. 选择解压后的项目根目录。
  3. 完成项目导入。

配置项目基础信息

pom.xml(Maven项目)或build.gradle(Gradle项目)中配置项目信息:

<groupId>com.example</groupId>
<artifactId>demo</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>demo</name>
<description>Demo project for Spring Boot</description>
项目结构与核心概念

Spring Boot核心概念简介

Spring Boot是一个构建在Spring框架上的轻量级、独立的开发框架,它通过约定优于配置的原则简化了Spring应用的开发。

核心特性:

  • 自动配置:自动配置Spring模块。
  • 依赖管理:自动处理依赖版本。
  • 配置文件:支持多种配置文件格式(如YAML、properties)。
  • 命令行运行:可以直接运行JAR包。
  • 插件:内置了Spring Boot插件,简化构建过程。

Maven/Gradle构建工具配置

Maven配置

pom.xml文件中配置项目依赖和插件。

<dependencies>
    <!-- 添加Spring Boot Web依赖 -->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <!-- 添加Thymeleaf模板引擎依赖 -->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-thymeleaf</artifactId>
    </dependency>
</dependencies>

<build>
    <plugins>
        <!-- 添加Spring Boot Maven插件 -->
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
    </plugins>
</build>

Gradle配置

build.gradle文件中配置项目依赖和插件。

dependencies {
    // 添加Spring Boot Web依赖
    implementation 'org.springframework.boot:spring-boot-starter-web'
    // 添加Thymeleaf模板引擎依赖
    implementation 'org.springframework.boot:spring-boot-starter-thymeleaf'
}

plugins {
    // 添加Spring Boot Gradle插件
    id 'org.springframework.boot' version '3.0.0'
}

Spring Boot配置文件介绍

Spring Boot使用application.propertiesapplication.yml配置文件来管理配置信息。

application.properties

# 配置端口
server.port=8080

# 配置数据源
spring.datasource.url=jdbc:mysql://localhost:3306/mydb
spring.datasource.username=root
spring.datasource.password=root

application.yml

server:
  port: 8080

spring:
  datasource:
  url: jdbc:mysql://localhost:3306/mydb
  username: root
  password: root
创建RESTful API服务

创建第一个Controller

创建一个简单的RESTful API服务,用于返回Hello World。

  1. 创建一个名为HelloController的Controller类。
package com.example.demo.controller;

import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class HelloController {

    @GetMapping("/hello")
    public String sayHello() {
        return "Hello, World!";
    }
}
  1. 运行项目,访问http://localhost:8080/hello,应返回Hello, World!

添加实体类与Repository

创建一个简单的实体类和对应的Repository。

  1. 创建一个名为User的实体类。
package com.example.demo.entity;

import jakarta.persistence.Entity;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.GenerationType;
import jakarta.persistence.Id;

@Entity
public class User {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;
    private String name;
    private String email;

    // Getter和Setter方法
}
  1. 创建一个名为UserRepository的Repository接口。
package com.example.demo.repository;

import com.example.demo.entity.User;
import org.springframework.data.jpa.repository.JpaRepository;

public interface UserRepository extends JpaRepository<User, Long> {
}

使用Spring Boot Starter进行数据库配置

  1. pom.xml(Maven)或build.gradle(Gradle)中添加JPA依赖。
<!-- Maven -->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>

<!-- Gradle -->
dependencies {
    implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
}
  1. 配置数据库连接信息。
# application.properties
spring.datasource.url=jdbc:mysql://localhost:3306/mydb
spring.datasource.username=root
spring.datasource.password=root
spring.jpa.hibernate.ddl-auto=update
  1. 创建一个简单的Controller来测试数据库连接。
package com.example.demo.controller;

import com.example.demo.entity.User;
import com.example.demo.repository.UserRepository;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.List;

@RestController
public class UserController {

    @Autowired
    private UserRepository userRepository;

    @GetMapping("/users")
    public List<User> getAllUsers() {
        return userRepository.findAll();
    }
}
运行与调试项目

运行Spring Boot应用

  1. 使用IDE运行项目。在IntelliJ IDEA中,右键点击主类(如DemoApplication.java),选择Run。
  2. 使用Maven或Gradle命令运行项目。
# Maven
mvn spring-boot:run

# Gradle
./gradlew bootRun

使用IDE进行调试

  1. 设置断点。在代码中设置断点。
  2. 运行调试。在IntelliJ IDEA中,选择菜单Run -> Debug,选择要调试的主类。

访问API接口测试

  1. 访问http://localhost:8080/hello,验证HelloController是否正常工作。
  2. 访问http://localhost:8080/users,验证UserController是否正常工作。
常见问题与解决方法

常见错误及其解决方法

错误1:找不到类或方法

检查以下几点:

  • 依赖是否正确添加。
  • 依赖版本是否匹配。
  • 类路径是否正确。

示例:

package com.example.demo.controller;

import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class HelloController {

    @GetMapping("/hello")
    public String sayHello() {
        return "Hello, World!";
    }
}

错误2:数据库连接失败

检查以下几点:

  • 配置文件中的数据库连接信息是否正确。
  • 数据库服务是否启动。
  • 数据库驱动是否正确添加。

示例:

# application.properties
spring.datasource.url=jdbc:mysql://localhost:3306/mydb
spring.datasource.username=root
spring.datasource.password=root
spring.jpa.hibernate.ddl-auto=update

错误3:Spring Boot启动失败

检查以下几点:

  • 项目结构是否正确。
  • 依赖是否重复。
  • 是否存在编译错误。

示例:

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
</dependencies>

依赖冲突及其解决

依赖冲突

依赖冲突通常是因为多个依赖库定义了相同的类,导致加载冲突。可以通过mvn dependency:tree(Maven)或./gradlew dependencies(Gradle)命令查看依赖树,找到冲突源并解决。

示例:

# Maven
mvn dependency:tree

# Gradle
./gradlew dependencies

解决方法

  1. 删除重复依赖。
  2. 修改依赖版本,使用兼容的版本。

示例:

<!-- Maven -->
<dependency>
    <groupId>com.example</groupId>
    <artifactId>example</artifactId>
    <version>1.0.0</version>
</dependency>

运行时异常处理

异常1:NullPointerException

检查以下几点:

  • 是否有空值赋值。
  • 是否调用了空对象的方法。

示例:

String name = null;
System.out.println(name.length());

异常2:IOException

检查以下几点:

  • 文件是否正确存在。
  • 文件路径是否正确。

示例:

File file = new File("path/to/file.txt");
try (BufferedReader reader = new BufferedReader(new FileReader(file))) {
    String line = reader.readLine();
    System.out.println(line);
} catch (IOException e) {
    e.printStackTrace();
}

异常3:HibernateException

检查以下几点:

  • 数据库连接信息是否正确。
  • 数据库驱动是否正确添加。
  • 数据库表是否存在。

示例:

package com.example.demo.repository;

import com.example.demo.entity.User;
import org.springframework.data.jpa.repository.JpaRepository;

public interface UserRepository extends JpaRepository<User, Long> {
}
点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消