亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

SpringBoot3+JDK17搭建后端:入門級教程

標簽:
Java SpringBoot
概述

本文介绍了如何使用Spring Boot 3和JDK 17搭建后端,详细涵盖了环境准备、项目创建、基本配置、API开发及测试部署等步骤。从安装配置JDK 17到搭建Spring Boot 3环境,再到开发简单的RESTful API,最后部署应用,帮助读者全面掌握开发流程。

环境准备
JDK 17安装和配置

在开始Spring Boot 3的开发之前,你需要确保已经安装了JDK 17。以下是如何安装和配置JDK 17的步骤:

  1. 访问Oracle官方网站或OpenJDK官方网站下载JDK 17的安装包。
  2. 根据操作系统的不同,选择对应的安装包进行下载。
  3. 安装完成后,检查环境变量是否配置正确。
  4. 使用命令行工具检查JDK版本,确保安装成功。

检查JDK版本

java -version

输出应显示JDK 17的版本信息。

配置环境变量

在Windows系统中,你需要在系统环境变量中设置JAVA_HOME和Path。

设置JAVA_HOME

打开“环境变量”设置,找到“系统变量”,添加JAVA_HOME环境变量,值为JDK的安装路径,例如:

C:\Program Files\Java\jdk-17

设置Path

在“系统变量”中找到Path变量,点击编辑,然后添加%JAVA_HOME%\bin

在Linux或Mac系统中,可以通过编辑~/.bashrc~/.zshrc文件来设置JAVA_HOME和Path:

export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64
export PATH=$JAVA_HOME/bin:$PATH
Spring Boot 3环境搭建

Spring Boot 3是Spring Boot的最新版本。你需要在开发环境中配置好Spring Boot 3的环境。

  1. 添加Spring Boot的依赖到你的项目中。
  2. 使用Spring Boot CLI或Spring Initializr来创建项目。

添加Spring Boot依赖

在Maven项目中,需要在pom.xml文件中添加Spring Boot 3的依赖:

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

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

在Gradle项目中,需要在build.gradle文件中添加Spring Boot 3的依赖:

dependencies {
    implementation 'org.springframework.boot:spring-boot-starter-web:3.0.0'
    testImplementation 'org.springframework.boot:spring-boot-starter-test:3.0.0'
}

使用Spring Boot CLI或Spring Initializr创建项目

你可以使用Spring Initializr来创建Spring Boot项目。访问Spring Initializr,设置项目信息,包括项目名称、语言、版本、构建工具等,选择所需的依赖模块,然后点击“Generate”生成项目。你也可以使用Spring Boot CLI,通过命令行创建项目:

spring init --dependencies=web --groupId=com.example --artifactId=myproject --version=3.0.0
开发工具选择与配置

选择合适的IDE非常重要。常见的IDE有IntelliJ IDEA、Eclipse和Spring Tool Suite(STS)。这里以IntelliJ IDEA为例进行配置。

安装IntelliJ IDEA

  1. 访问IntelliJ IDEA官网下载并安装最新版本。
  2. 安装完成后,打开IDE并创建一个新的Spring Boot项目。

创建Spring Boot项目

  1. 打开IntelliJ IDEA,选择“File” -> “New” -> “Project”。
  2. 在弹出的窗口中选择Spring Initializr,点击“Next”。
  3. 输入项目名称、语言(Java)、版本(Java 17)、项目类型(Maven/Gradle)。
  4. 选择要添加的依赖(例如Web)。
  5. 完成后点击“Finish”。
创建Spring Boot 3项目

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

  1. 访问Spring Initializr
  2. 设置项目信息,包括项目名称、语言、版本、构建工具等。
  3. 选择所需的依赖模块。
  4. 点击“Generate”生成项目。

导入项目到IDE

下载生成的项目文件后,可以将其导入到IDE中。

  1. 打开IntelliJ IDEA,选择“File” -> “Open”。
  2. 选择下载的项目文件夹,并点击“Open”。

导入完成后,IDE会自动配置和解析项目依赖。

项目基本配置
application.properties配置详解

Spring Boot使用application.properties文件作为全局配置文件。以下是一些常见的配置项:

基本配置

  • spring.application.name: 应用程序名称。
  • spring.boot.admin.client.url: Spring Boot Admin客户端的URL。
  • spring.profiles.active: 激活的环境配置文件。

数据源配置

  • spring.datasource.url: 数据源URL。
  • spring.datasource.username: 数据库用户名。
  • spring.datasource.password: 数据库密码。
  • spring.datasource.driver-class-name: 数据库驱动类名。

连接池配置

  • spring.datasource.hikari.connection-timeout: 连接超时时间。
  • spring.datasource.hikari.minimum-idle: 最小空闲连接数。
  • spring.datasource.hikari.maximum-pool-size: 最大连接池大小。

示例代码

spring.application.name=myapp
spring.datasource.url=jdbc:mysql://localhost:3306/mydb
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.hikari.connection-timeout=30000
spring.datasource.hikari.minimum-idle=10
spring.datasource.hikari.maximum-pool-size=20
数据源配置及连接池设置

Spring Boot默认提供了HikariCP连接池。以下是如何配置数据源和连接池的代码示例:

application.properties配置

spring.datasource.url=jdbc:mysql://localhost:3306/mydb
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.hikari.connection-timeout=30000
spring.datasource.hikari.minimum-idle=10
spring.datasource.hikari.maximum-pool-size=20

配置类

你也可以通过配置类来自定义数据源和连接池:

import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.boot.jdbc.DataSourceBuilder;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.jdbc.datasource.DataSourceTransactionManager;
import org.springframework.transaction.PlatformTransactionManager;

import javax.sql.DataSource;

@Configuration
public class DataSourceConfig {

    @Bean
    @ConfigurationProperties("spring.datasource.hikari")
    public DataSource dataSource() {
        return DataSourceBuilder.create().build();
    }

    @Bean
    public PlatformTransactionManager transactionManager() {
        return new DataSourceTransactionManager(dataSource());
    }
}
简单RESTful API开发
创建Controller和Service

在Spring Boot中,通常使用@Controller@RestController注解来创建Controller,使用@Service注解来创建Service。

创建Service类

import org.springframework.stereotype.Service;

@Service
public class UserService {

    public User getUserById(Long id) {
        // 返回用户信息
        return new User(id, "John Doe");
    }

    public User saveUser(User user) {
        // 假设这是保存用户的方法
        return user;
    }

    public void deleteUser(Long id) {
        // 删除用户
    }
}

创建Controller类

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

@RestController
public class UserController {

    @Autowired
    private UserService userService;

    @GetMapping("/users/{id}")
    public User getUserById(@PathVariable Long id) {
        return userService.getUserById(id);
    }

    @PostMapping("/users")
    public User createUser(@RequestBody User user) {
        return userService.saveUser(user);
    }

    @DeleteMapping("/users/{id}")
    public void deleteUser(@PathVariable Long id) {
        userService.deleteUser(id);
    }
}
使用Spring Boot注解快速开发API

Spring Boot提供了许多注解来简化RESTful API的开发。以下是一些常用的注解:

  • @RestController: 表示该类是RESTful控制器。
  • @RequestMapping/@GetMapping/@PostMapping: 映射HTTP请求到控制器的方法。
  • @PathVariable: 从URL中提取数据。
  • @RequestBody: 读取请求体中的数据。

示例代码

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

@RestController
public class UserController {

    @Autowired
    private UserService userService;

    @GetMapping("/users/{id}")
    public User getUserById(@PathVariable Long id) {
        return userService.getUserById(id);
    }

    @PostMapping("/users")
    public User createUser(@RequestBody User user) {
        return userService.saveUser(user);
    }

    @DeleteMapping("/users/{id}")
    public void deleteUser(@PathVariable Long id) {
        userService.deleteUser(id);
    }
}
测试API和部署应用
使用Postman测试API

Postman是一个流行的API测试工具,可以用来测试Spring Boot应用的API。

示例请求

  1. 打开Postman,选择“GET”请求。
  2. 输入请求URL:http://localhost:8080/users/1
  3. 发送请求并查看响应。

示例响应

{
    "id": 1,
    "name": "John Doe"
}
打包与部署

Spring Boot应用程序可以打包成可执行的JAR文件,然后通过命令行运行。

打包

在Maven项目中,可以使用以下命令打包:

mvn clean package

在Gradle项目中,可以使用以下命令打包:

./gradlew bootJar

运行

打包完成后,可以使用以下命令运行应用程序:

java -jar target/myapp.jar

或者直接使用IDE运行打包好的JAR文件。

应用监控与日志配置

Spring Boot集成了多种监控和日志框架,可以方便地监控应用状态和查看日志。

日志配置

默认使用Spring Boot的默认日志配置,可以修改logback-spring.xml文件来自定义日志级别和输出格式。

应用监控

可以使用Spring Boot Actuator来监控应用的健康状态、指标等。

示例代码

management:
  endpoints:
    web:
      exposure:
        include: "*"
  endpoint:
    health:
      show-details: always
实战案例
一个简单的CRUD应用实例

本节将介绍如何创建一个简单的CRUD应用实例,包括增删改查操作。

创建实体类

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

@Entity
public class User {

    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    private Long id;

    private String name;

    // 构造函数、getter和setter省略
}

创建Service类

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import javax.persistence.EntityManager;
import javax.persistence.TypedQuery;
import java.util.List;

@Service
public class UserService {

    @Autowired
    private EntityManager entityManager;

    public User getUserById(Long id) {
        return entityManager.find(User.class, id);
    }

    public User saveUser(User user) {
        entityManager.persist(user);
        return user;
    }

    public void deleteUser(Long id) {
        User user = entityManager.find(User.class, id);
        entityManager.remove(user);
    }
}

创建Controller类

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

@RestController
public class UserController {

    @Autowired
    private UserService userService;

    @GetMapping("/users/{id}")
    public User getUserById(@PathVariable Long id) {
        return userService.getUserById(id);
    }

    @PostMapping("/users")
    public User createUser(@RequestBody User user) {
        return userService.saveUser(user);
    }

    @DeleteMapping("/users/{id}")
    public void deleteUser(@PathVariable Long id) {
        userService.deleteUser(id);
    }
}

创建测试数据

-- 创建数据库表
CREATE TABLE user (
    id BIGINT AUTO_INCREMENT PRIMARY KEY,
    name VARCHAR(255)
);

-- 插入测试数据
INSERT INTO user (name) VALUES ('John Doe');
项目部署与常见问题解决

部署Spring Boot应用可以采用多种方式,包括本地服务器、云服务器等。

部署到云服务器

  1. 登录云服务器。
  2. 上传打包好的JAR文件。
  3. 使用命令行运行JAR文件。

常见问题解决

  • 内存不足:增加JVM的堆内存大小。
  • 端口被占用:修改Spring Boot的端口号。
  • 依赖问题:确保所有依赖都已正确下载和配置。

示例代码

增加JVM堆内存大小:

java -jar -Xmx512m target/myapp.jar

修改Spring Boot端口号:

server.port=8081
总结

本文详细介绍了如何使用Spring Boot 3和JDK 17搭建一个后端应用程序。从环境准备、项目创建、基本配置到API开发、测试部署,以及一个简单的CRUD应用案例,帮助读者掌握完整的开发流程。希望这些内容能帮助你更好地理解和使用Spring Boot和JDK 17。如果你有任何问题或需要进一步的帮助,请参考Spring Boot官方文档或访问MooC网进行学习。

點擊查看更多內容
TA 點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優質文章

正在加載中
  • 推薦
  • 評論
  • 收藏
  • 共同學習,寫下你的評論
感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

舉報

0/150
提交
取消