Phiên bản mới nhất của Spring Boot là 2.0 . Nó giới thiệu rất nhiều tính năng mới cùng với một số sửa đổi và thay thế.
Spring boot 2.0
Hãy cùng xem qua Spring Boot 2.0.
- Có gì mới
nâng cấp cơ sở hạ tầng
Spring Framework 5
- Những gì đã thay đổi
thuộc tính cấu hình
Gradle Plugin
thiết bị truyền động điểm cuối
- Các chỉ số
bảo mật đang phát triển
Nhóm quan trọng đã nâng cấp cơ sở hạ tầng có liên quan đến các công cụ sau:
- Hỗ trợ các phiên bản Java 8 trở lên
- Hỗ trợ các phiên bản Apache Tomcat 8 trở lên
- Hỗ trợ Thymeleaf 3
- Hỗ trợ Hibernate 5.2
Trong Spring Framework 5 , nhóm Pivotal đã nâng cấp những thứ sau:
- spring phản ứng
- Ngăn xếp Servlet
- Bộ chứa Servlet
- API Servlet
- MVCspring
- Ngăn xếp phản ứng
- Netty, Servlet 3.1, Undertow
- Lớp HTTP phản ứng
- Spring WebFlux
- API chức năng
- Hỗ trợ Kotlin
Phiên bản mới nhất của Spring Boot là 2.2.1. Bản phát hành Spring Boot này bao gồm 110 bản sửa lỗi, nâng cấp phụ thuộc và cải tiến.
Trong Spring Boot v2.2.1, chức năng quét chú thích @ConfigurationProperties hiện bị tắt theo mặc định. Chúng tôi cần được chọn tham gia một cách rõ ràng bằng cách thêm chú thích @ConfigurationPropertiesScan .
Các tính năng mới
- Hỗ trợ liên kết phương thức khởi tạo cho thuộc tính được lồng bên trong JavaBean
- Thêm thuộc tính cấu hình cho CodecConfigurer.maxInMemorySize trong WebFlux
- Đặt các phần thử nghiệm loại trừ bộ lọc ở chế độ công khai
- Hỗ trợ amqps: // URI trong spring.rabbitmq.addresses
Nâng cấp phụ thuộc
Một số phụ thuộc đã được nâng cấp trong Spring Boot v2.2.1 như sau:
- Mongodb 3.11.2
- Spring Security 5.2.1.RELEASE
- Slf4j 1.7.29
- Spring Hateoas 1.0.1.RELEASE
- Hibernate Validator 6.0.18.Final
- Hibernate 5.4.8. Cuối cùng
- Cầu tàu 9.4.22.v20191022
- Spring Framework 5.2.1
- spring AMQP 2.2.1
- H2 1.4.200
- Spring Security 5.2
- Spring Batch 4.2
Một số phụ thuộc bên thứ ba quan trọng và được sử dụng rộng rãi được nâng cấp trong bản phát hành này như sau:
- Panme 1.3.1
- Flyway 6.0.7
- Elasticsearch 6.8.4
- JUnit 5.5
- Jackson 2.10
Cải tiến hiệu suất
Trong Spring Boot 2.2.1, hiệu suất sau đã được cải thiện:
Lazy Initialization
Trong Spring Boot 2.2.1, chúng ta có thể kích hoạt khởi tạo lười toàn cầu bằng cách sử dụng thuộc tính spring.main.lazy-khởi tạo . Nó làm giảm thời gian khởi động ứng dụng.
Java 13 Support
Spring Boot 2.2.1 hiện hỗ trợ phiên bản Java mới nhất là Java 13.
Immutable Binding
Trong phiên bản mới hơn của Spring Boot, thuộc tính Cấu hình hỗ trợ liên kết dựa trên phương thức khởi tạo. Chú thích lớp với chú thích @ConfigurationProperties là không thể thay đổi. Nó có thể được kích hoạt bằng cách thêm chú thích @ConfugurationProperties vào một lớp hoặc một trong các hàm tạo của nó với @ConstructorBinding.
RSocket Support
Nó là một phần của Spring Security . Tích hợp RSocket được tự động cấu hình khi một ứng dụng tìm thấy spring-security-rsocket có mặt trên classpath.
Không dùng nữa trong Spring Boot 2.2
- Thuộc tính logging.file đã được đổi tên thành logging.file.name.
- Thuộc tính logging.path đã được đổi tên thành logging.file.path.
- Thuộc tính server.connection-timeout đã không được dùng nữa để thay thế cho các thuộc tính dành riêng cho máy chủ.
- Hỗ trợ thời gian Joda không được dùng nữa để thay thế cho java.time.
Những cải tiến sau được thực hiện trong Spring Boot 2.2.1
- Java: Spring Boot 2.2.1
- Spring Framework 5.2: Bản phát hành Spring Boot này nâng cấp Spring Framework lên 5.2.
- JMX is disabled: Trong phiên bản này, JMX không được bật theo mặc định. Chúng ta có thể kích hoạt nó bằng cách sử dụng thuộc tính jmx.enabled = true . Nếu bạn đang sử dụng tính năng IDE để giám sát ứng dụng của mình, chúng tôi cần bật tính năng này.
- Fork enabled by defaul: Ứng dụng Spring Boot chạy bởi Maven Plugin hiện đã được fork theo mặc định.
- JUnit 5: Spring Boot v2.2.1 cung cấp JUnit 5 theo mặc định. Công cụ cổ điển của JUnit 5 cũng được bao gồm theo mặc định hỗ trợ các lớp kiểm tra dựa trên JUnit 4 hiện có. Chúng ta cũng có thể sử dụng các lớp thử nghiệm dựa trên JUnit 4 và JUnit 5 trong cùng một mô-đun.
- AssertJ 3.12: Bản phát hành Spring Boot này nâng cấp lên AssertJ 3.12. Nó chứa các thay đổi API phá vỡ đối với các xác nhận liên quan đến Iterator.
- Hibernate Dialect: Trong phiên bản Spring Boot mới hơn, Hibernate đã chọn phương ngữ để sử dụng thay vì áp dụng phương ngữ mặc định dựa trên cơ sở dữ liệu được phát hiện.
- Gradle Requirements: Phiên bản mới nhất của Spring Boot yêu cầu Gradle 4.10.