SpringBoot3 升级的几个特性

406 阅读2分钟

Spring Boot是一个流行的Java框架,基于Spring boot 我们可以很容易的搭建一套web项目,简化了spring框架的配置。

Springboot最新版本3.2.x:

image.png

image.png

Spring Boot 2和Spring Boot 3哪些区别

1、Java版本:Spring Boot 2基于Java 8,支持Java 9;而Spring Boot 3将基于Java 11,并支持Java 17。这意味着如果您计划升级到Spring Boot 3,您的项目将需要使用Java 11进行编译和运行。

2、Spring Framework版本:Spring Boot 2基于Spring Framework 5开发;而Spring Boot 3构建基于Spring Framework 6之上。

3、模块化支持:Spring Boot 2在模块化方面的支持有限,而Spring Boot 3将更加注重模块化。它将提供更好的模块化支持,使开发人员能够更轻松地构建和维护模块化的应用程序。

4、Web框架:Spring Boot 2默认使用Spring MVC作为Web框架,而Spring Boot 3将引入对Spring WebFlux的支持。Spring WebFlux是一个非阻塞的、响应式的Web框架,适用于构建高性能的异步和事件驱动的应用程序。

@RestController public class HelloController {

@GetMapping("/hello")
public Mono<String> hello() {
    return Mono.just("Hello, Spring Boot 3!");
}

}

5、数据库访问:Spring Boot 2默认使用Spring Data JPA进行数据库访问,而Spring Boot 3将引入对Spring Data R2DBC的支持。Spring Data R2DBC是一个响应式的数据库访问框架,适用于构建基于事件驱动的应用程序。 @Repository public interface UserRepository extends ReactiveCrudRepository<User, Long> { }

@Service public class UserService {

private final UserRepository userRepository;

public UserService(UserRepository userRepository) {
    this.userRepository = userRepository;
}

public Mono<User> getUserById(Long id) {
    return userRepository.findById(id);
}

}

Spring Boot 2和Spring Boot 3之间有一些重要的区别。升级到Spring Boot 3可能需要您更新Java版本,并进行一些代码调整以适应新的模块化支持、Web框架和数据库访问方式。根据您的项目需求和偏好,选择适合您的版本。