🔍 登录 注册

Spring Boot 2.x的使用

大 大苹果 2024-05-30 algorithm 👁 55 ⏱ 5min

Spring Boot 2.x 是 Spring Boot 的当前主要版本,相较于 1.x 版本,2.x 版本提供了许多新的功能和改进,特别是在性能、可扩展性和易用性方面。以下是使用 Spring Boot 2.x 的详细指南。

安装和设置

  1. 确保你已经安装了 JDK 和 Maven:

    • 安装 JDK(推荐使用 JDK 8 或更高版本)。
    • 安装 Maven(推荐使用 Maven 3.5 及以上版本)。
  2. 创建一个 Spring Boot 2.x 项目:

    • 你可以使用 Spring Initializr 网站(start.spring.io)来生成一个 Spring Boot 2.x 项目,选择所需的依赖项并下载项目。
    • 或者你可以在命令行中使用 Spring Boot CLI 创建一个项目:
      spring init --dependencies=web my-spring-boot-app
      cd my-spring-boot-app
      

配置 pom.xml

以下是一个 Spring Boot 2.x 项目的 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>my-spring-boot-app</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.7.1</version>
        <relativePath/>
    </parent>
    <properties>
        <java.version>11</java.version>
    </properties>
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <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>

主应用程序类

创建一个主应用程序类来启动 Spring Boot 应用程序:

package com.example.demo;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class DemoApplication {

    public static void main(String[] args) {
        SpringApplication.run(DemoApplication.class, args);
    }
}

示例控制器

创建一个简单的控制器来处理 HTTP 请求:

package com.example.demo;

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!";
    }
}

运行应用程序

  1. 使用 Maven 运行:
    在项目根目录下运行以下命令来启动应用程序:

    mvn spring-boot:run
    
  2. 打包并运行 JAR 文件:
    你可以将应用程序打包为一个 JAR 文件,并通过命令行运行:

    mvn clean package
    java -jar target/my-spring-boot-app-0.0.1-SNAPSHOT.jar
    

常见配置

在 application.properties 文件中进行常见配置:

# 应用程序端口
server.port=8080

# 日志级别
logging.level.org.springframework=INFO
logging.level.com.example=DEBUG

主要改进

Spring Boot 2.x 相较于 1.x 版本有以下主要改进:

  1. Java 8 及以上版本支持:

    • Spring Boot 2.x 不再支持 Java 7,只支持 Java 8 及以上版本,利用了 Java 8 的新特性。
  2. Spring 5 集成:

    • Spring Boot 2.x 集成了 Spring Framework 5,提供了对响应式编程和函数式编程的支持。
  3. 性能改进:

    • Spring Boot 2.x 在启动时间和内存使用方面进行了优化,提高了性能。
  4. 更加灵活的配置:

    • 使用 Spring Boot 2.x 可以更方便地进行属性配置,支持多种配置文件格式(如 YAML)。
  5. Actuator 改进:

    • Spring Boot 2.x 的 Actuator 提供了更强大的监控和管理功能,默认启用了一些关键端点。
  6. 安全性改进:

    • Spring Boot 2.x 增强了默认的安全配置,提供了更多的安全特性。

总结

Spring Boot 2.x 提供了许多新的功能和改进,使得开发现代应用程序更加简单和高效。通过自动配置、嵌入式服务器、丰富的生态系统和广泛的社区支持,Spring Boot 2.x 成为构建微服务和单体应用的首选框架之一。如果你还在使用 Spring Boot 1.x,建议尽早升级到 2.x 版本,以获得更多的功能和更好的性能。

读完了?给作者一点支持

本文采用 CC BY 4.0 协议转载 · © 大苹果

评论(0)

登录 后参与评论。

  • 还没有评论,来抢沙发。

🔗 相关文章

动态规划从入门到进阶:状态设计与空间优化的完整方法论

从暴力递归到记忆化与递推,覆盖背包、区间、状态压缩等模型,给出动态规划状态设计与空间优化的完整方法论。

21 天前👍 0

Go 排序算法实战:从冒泡到 TimSort 的复杂度与工程取舍

用 Go 实现九种经典排序,剖析复杂度、稳定性与适用场景,并拆解标准库 sort 背后的 introsort 工程取舍。

21 天前👍 0

RabbitMQ 标准队列

RabbitMQ 标准队列(Classic Queue)是消息传递系统中最基本的队列类型,消息按先进先出(FIFO)的顺序存储和传递。以下是标准队列的常见应用场景和详细说明: ### 1. **任务队列(Task Queue)** - **场景描述**:在后台处理任务时,如图像处理、视频转码、数据分析等,需要将任务分配给多个工作节点进行处理,避免阻塞主应用。 - **应用说明**:在任务队列中,每个任务都会被推送到 RabbitMQ 的标准队列中,多个消费者从队列中获取任务并处理,任务处理完毕后删除队列中的消息。 - **举例**: - **应用**:电商网站后台处理订单数据,如生成发货单、发送确认邮件等。这些任务可以异步处理,以提高系统的响应速度。 - **代码示例(Node.js)**: ```javascript // 生产者:将任务添加到队列 const amqp = require('amqplib/callback_api'); amqp.connect('amqp://localhost', func

2024/8/11👍 0