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

Springboot3+JDK17搭建后端资料详解

标签:
SpringBoot
概述

本文详细介绍了如何使用Spring Boot 3和JDK 17搭建后端资料,包括环境配置、项目创建、基础配置和数据访问层开发等内容。文章首先指导读者安装并配置JDK 17和Spring Boot CLI,接着讲解了如何使用Spring Initializr创建项目,并配置IDE环境。此外,还提供了项目结构、RESTful API和数据库操作的详细说明。

环境搭建

安装JDK17

在开始使用Spring Boot 3和JDK 17进行后端开发之前,首先需要确保安装了JDK 17。JDK 17是长期支持版本(Long-Term Support, LTS),这意味着它将获得更长时间的技术支持和安全性更新。以下是安装JDK 17的步骤:

  1. 下载JDK 17
    访问Oracle官方网站或Adoptium等开源项目网站下载JDK 17的安装包。

  2. 安装JDK 17
    下载完成后,按照安装向导进行安装。安装过程中,请确保添加环境变量。以下是Windows和Linux系统中添加环境变量的示例:

    • Windows

      set JAVA_HOME=C:\Program Files\Java\jdk-17
      set PATH=%JAVA_HOME%\bin;%PATH%
    • Linux
      export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64
      export PATH=$JAVA_HOME/bin:$PATH
  3. 验证安装
    通过命令行验证安装是否成功。在终端窗口中输入以下命令:
    java -version

    如果正确安装,将显示JDK 17版本信息。

安装Spring Boot CLI(可选)

Spring Boot CLI是一个命令行工具,可以用来快速启动新的Spring Boot应用。尽管这是一个可选步骤,但对于初学者来说,CLI可以简化开发流程。

  1. 下载并安装Spring Boot CLI
    从Spring官网下载最新的Spring Boot CLI,解压到指定目录。

  2. 配置环境变量
    确保Spring Boot CLI的路径已经添加到系统环境变量中。

    • Windows

      set PATH=%PATH%;C:\path\to\spring-boot-cli
    • Linux
      export PATH=$PATH:/path/to/spring-boot-cli
  3. 验证安装
    在命令行窗口中输入以下命令:
    spring --version

    如果正确安装,将显示Spring Boot CLI的版本信息。

配置IDE(如IntelliJ IDEA或Eclipse)

虽然可以使用任何IDE进行Spring Boot开发,但建议使用IntelliJ IDEA或Eclipse,因为它们有专门的插件支持Spring Boot。

  1. IntelliJ IDEA

    • 安装IntelliJ IDEA
      下载并安装IntelliJ IDEA的社区版或专业版。

    • 安装Spring Boot插件
      打开IntelliJ IDEA,通过File -> Settings -> Plugins,搜索并安装Spring Boot插件。

    • 配置Spring Boot环境
      按照IDE提示配置JDK版本和Spring Boot版本。
  2. Eclipse

    • 安装Eclipse
      下载并安装Eclipse的开发版或企业版。

    • 安装Spring Tools Suite (STS)
      通过Eclipse Marketplace安装STS插件。

    • 配置Spring Boot环境
      按照IDE提示配置JDK版本和Spring Boot版本。

创建Spring Boot项目

使用Spring Initializr创建项目

Spring Initializr是一个在线工具,允许用户通过简单的表单创建新的Spring Boot项目。以下是创建Spring Boot项目的步骤:

  1. 访问Spring Initializr
    打开浏览器,访问http://start.spring.io/

  2. 选择项目配置

    • Project:选择Maven项目或Gradle项目。
    • Language:选择Java。
    • Spring Boot:选择最新版本,如3.0.0。
    • Dependencies:根据需要选择依赖,如Web、JPA等。
  3. 生成项目
    点击Generate按钮,下载项目压缩包。

  4. 解压项目
    将下载的压缩包解压到指定目录,如Eclipse或IntelliJ IDEA的工作目录。

导入项目到IDE

  1. 导入到IntelliJ IDEA

    • 打开IntelliJ IDEA,选择File -> Open,选择解压后的项目文件夹。
    • 确保项目被正确解析为Maven或Gradle项目。
  2. 导入到Eclipse
    • 打开Eclipse,选择File -> Import -> Existing Maven Projects
    • 选择解压后的项目文件夹,点击Finish

项目结构简介

Spring Boot项目结构通常包含以下文件和目录:

  • src/main/java:存放Java源代码,包括控制器、服务、实体等。
  • src/main/resources:存放资源文件,如配置文件(application.propertiesapplication.yml)。
  • src/test/java:存放测试代码。
  • pom.xml:Maven项目的配置文件。
  • build.gradle:Gradle项目的配置文件(如果使用Gradle)。

基础配置

application.properties/yml配置详解

Spring Boot使用application.propertiesapplication.yml文件进行配置。这些文件位于src/main/resources目录下,用于配置各种应用程序的属性。

  1. 基本配置

    • server.port:指定服务器的端口号。
    • spring.application.name:指定应用名称。
  2. 数据库连接配置

    • spring.datasource.url:数据库URL。
    • spring.datasource.username:数据库用户名。
    • spring.datasource.password:数据库密码。
  3. 日志配置
    • logging.level.root:设置根日志级别,如INFODEBUG等。
    • logging.file.name:指定日志文件路径和名称。

以下是一些示例配置:

# application.properties
server.port=8080
spring.application.name=myapp

spring.datasource.url=jdbc:mysql://localhost:3306/mydb
spring.datasource.username=root
spring.datasource.password=root

logging.level.root=INFO
logging.file.name=/var/log/myapp.log
# application.yml
server:
 port: 8080
spring:
 application:
  name: myapp
 datasource:
  url: jdbc:mysql://localhost:3306/mydb
  username: root
  password: root
 logging:
 level:
  root: INFO
 file:
  name: /var/log/myapp.log

数据库连接配置

数据库连接配置通常在application.propertiesapplication.yml中进行。以下是MySQL的示例配置:

# 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
# application.yml
spring:
 datasource:
  url: jdbc:mysql://localhost:3306/mydb
 username: root
 password: root
 driver-class-name: com.mysql.cj.jdbc.Driver

日志配置

日志配置用于定义日志记录的行为。以下是一些常见的日志配置选项:

# application.properties
logging.level.root=INFO
logging.file.name=/var/log/myapp.log
# application.yml
logging:
 level:
  root: INFO
 file:
  name: /var/log/myapp.log

编写第一个RESTful API

创建Controller

控制器是处理HTTP请求的Java类,通常使用Spring MVC框架进行开发。以下是一个简单的RESTful API控制器示例:

  1. 创建控制器类
    • 创建一个新的Java类,继承自org.springframework.web.bind.annotation.RestController
    • 使用@RestController注解。
    • 使用@RequestMapping注解设置请求的路径。
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 hello() {
        return "Hello, World!";
    }
}

使用注解开发RESTful API

在控制器中,可以使用多种注解来处理不同的HTTP请求方法,如@GetMapping@PostMapping@PutMapping等。

package com.example.demo.controller;

import org.springframework.web.bind.annotation.*;

@RestController
public class UserController {

    @GetMapping("/users")
    public String getUsers() {
        return "List of users";
    }

    @PostMapping("/users")
    public String createUser() {
        return "User created";
    }

    @PutMapping("/users/{id}")
    public String updateUser(@PathVariable String id) {
        return "User " + id + " updated";
    }

    @DeleteMapping("/users/{id}")
    public String deleteUser(@PathVariable String id) {
        return "User " + id + " deleted";
    }
}

测试API

在IDE中可以通过HTTP客户端(如Postman)或IDE自带的工具来测试API。以下是一些测试示例:

  1. 测试GET请求

    • 访问http://localhost:8080/hello,期望返回Hello, World!
  2. 测试POST请求

    • 访问http://localhost:8080/users,期望返回User created
  3. 测试PUT请求

    • 访问http://localhost:8080/users/1,期望返回User 1 updated
  4. 测试DELETE请求
    • 访问http://localhost:8080/users/1,期望返回User 1 deleted

数据访问层开发

引入Spring Data JPA

Spring Data JPA简化了数据库访问层的开发,提供了CRUD操作的模板和扩展点。以下是引入Spring Data JPA的步骤:

  1. 添加依赖
    pom.xmlbuild.gradle中添加Spring Data JPA依赖。

    <!-- pom.xml -->
    <dependency>
       <groupId>org.springframework.boot</groupId>
       <artifactId>spring-boot-starter-data-jpa</artifactId>
    </dependency>
    // build.gradle
    implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
  2. 配置数据库连接
    如上文所述,在application.propertiesapplication.yml中配置数据库连接信息。

创建实体类

实体类是数据库表的映射,通常使用@Entity注解。以下是一个简单的实体类示例:

package com.example.demo.entity;

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

@Entity
public class User {

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

    private String name;

    private String email;

    // getters and setters
}

创建Repository接口

Repository接口用于定义数据访问层的操作。Spring Data JPA提供了许多预定义的查询方法,如findAllsave等。

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> {
}

数据库操作示例

以下是一些常见的数据库操作示例:

  1. 查询所有用户

    package com.example.demo.service;
    
    import com.example.demo.entity.User;
    import com.example.demo.repository.UserRepository;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.stereotype.Service;
    
    import java.util.List;
    
    @Service
    public class UserService {
    
       @Autowired
       private UserRepository userRepository;
    
       public List<User> getAllUsers() {
           return userRepository.findAll();
       }
    }
  2. 创建新用户

    public User createUser(String name, String email) {
       User user = new User();
       user.setName(name);
       user.setEmail(email);
       return userRepository.save(user);
    }
  3. 更新用户信息

    public User updateUser(Long id, String name, String email) {
       User user = userRepository.findById(id).orElseThrow(() -> new RuntimeException("User not found"));
       user.setName(name);
       user.setEmail(email);
       return userRepository.save(user);
    }
  4. 删除用户
    public void deleteUser(Long id) {
       userRepository.deleteById(id);
    }

运行与打包

运行Spring Boot应用

Spring Boot应用可以通过多种方式运行,如IDE、命令行等。以下是几种常见的运行方式:

  1. 通过IDE运行

    • 在IntelliJ IDEA或Eclipse中,右键点击主类(通常带有@SpringBootApplication注解),选择Run
  2. 通过命令行运行

    • 在项目根目录下,使用Maven或Gradle命令启动应用。
    # Maven
    mvn spring-boot:run
    
    # Gradle
    ./gradlew bootRun

打包成可执行的JAR文件

将Spring Boot应用打包成可执行的JAR文件,可以方便地部署到不同的环境中。

  1. Maven打包

    mvn clean package
  2. Gradle打包
    ./gradlew clean bootJar

部署到服务器

部署到服务器通常涉及将打包好的JAR文件上传到服务器,并设置启动脚本或使用Docker容器。

  1. 上传JAR文件
    使用SCP、FTP等工具上传JAR文件到服务器。

  2. 启动脚本
    创建一个启动脚本,用于启动JAR文件。

    #!/bin/bash
    java -jar /path/to/yourapp.jar
  3. Docker部署
    使用Docker容器部署应用,确保Docker镜像包含JDK和应用JAR文件。

    # Dockerfile
    FROM openjdk:17-jdk-alpine
    
    COPY target/yourapp.jar /app.jar
    
    CMD ["java", "-jar", "/app.jar"]

通过以上步骤,可以顺利地搭建Spring Boot 3 + JDK 17的后端应用,并进行开发和部署。

点击查看更多内容
TA 点赞

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

评论

作者其他优质文章

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

100积分直接送

付费专栏免费学

大额优惠券免费领

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

举报

0/150
提交
取消