Bài viết Câu hỏi About RongvangIT
profile Pic
0
0

Đăng ngày:

 

Sửa ngày:

48 Lượt xem

Spring 5: Tính Năng và Sự Tương Thích từ Phiên Bản 4

SpringSpring 5

Trong bài viết này, chúng ta sẽ tìm hiểu về Spring 5, một trong những Java framework được sử dụng phổ biến, và giải thích chi tiết về những thay đổi và sự tương thích từ phiên bản trước đó, dành cho các lập trình viên mới.

1. Lịch Sử của Spring Framework

Spring Framework là một trong những framework Java phổ biến nhất, chủ yếu được sử dụng trong phát triển ứng dụng web. Hiện nay, có hơn 10 dự án Spring khác nhau, tạo nên một hệ sinh thái lớn.

Spring Framework được phát hành lần đầu vào năm 2004 với phiên bản 1.0 và sau đó đã có nhiều phiên bản khác nhau. Dưới đây là một tóm tắt lịch sử của Spring Framework:

Bản Ngày Phát Hành Tóm Tắt
1.0 2004 Phát triển ứng dụng J2EE mạnh mẽ mà không cần EJB.
1.2 2005 Hỗ trợ DI Container, AOP, Bean Definition dựa trên XML, và nhiều tính năng khác.
2.0 2006 Ra mắt các dự án phụ như Spring Security và Spring Web Flow.
2.5 2007 Hỗ trợ DI và MVC, các dự án như Spring Integration và Spring Batch được khởi đầu.
3.0 2009 Hỗ trợ JSR330, hỗ trợ Java EE6 với JPA2.0 và Bean Validation.
4.0 2013 Hỗ trợ Java SE8 và Java EE7, cung cấp WebSocket và hỗ trợ Web Messaging.

2. Tổng Quan về Spring Framework 5

Vào tháng 9 năm 2017, Spring Framework 5 được phát hành. Spring Framework 5 đi kèm với một framework web React đáng chú ý và được coi là phiên bản quan trọng nhất kể từ khi dự án bắt đầu vào năm 2004.

Spring WebFlux, một framework web reactivex của Spring Framework 5, được xây dựng dựa trên React3.1 và hỗ trợ cả chương trình chức năng và chức năng lập trình chú thích.

3. Những Thay Đổi Chính từ Các Phiên Bản Trước Đó

Dưới đây là những thay đổi chính từ Spring Framework 5, được chia thành 5 mục:

① Hỗ Trợ JDK 8 và Java EE 7

Spring Framework 5 yêu cầu JDK 8 trở lên và ngừng hỗ trợ JDK 6 và 7. Đồng thời, Java EE 7 trở lên cũng là bắt buộc, hỗ trợ một số tính năng của Java EE 8 như Servlet 4.0, Bean Validation 2.0, JSON Binding API.

② Loại Bỏ Các Gói, Lớp và Phương Thức đã bị Lời Khuyên Không Nên Sử Dụng từ Phiên Bản 4

Spring Framework 5 đã loại bỏ một số gói, lớp và phương thức, bao gồm Tiles2, Hibernate ORM 3.6 và 4.x, Velocity, JasperReports, XMLBeans, Java Data Objects, Guava’s Cache.

③ Các Tính Năng Cốt Lõi

Đối với các tính năng cốt lõi không phụ thuộc vào loại ứng dụng, đã có những thay đổi sau:

  • Sử dụng cơ chế hỗ trợ bởi JDK 8 để truy cập tham số phương thức một cách hiệu quả.
  • Thực hiện một số thay đổi về mặc định của phương thức trong các giao diện được hỗ trợ bởi JDK 8.
  • Thêm phương thức isFile() vào giao diện Resource để xác định liệu một tài nguyên có tồn tại trên hệ thống tệp không.
  • Thêm Spring-jcl, cho phép ghi log thông qua JUL thông qua API của Commons Logging.

④ WebMVC

Các thay đổi chính liên quan đến Spring Web MVC bao gồm:

  • Sửa đổi triển khai của Filter được cung cấp bởi Spring Framework để tuân thủ theo API của Servlet 3.1.
  • Có thể chỉ định PushBuilder trong các phương thức xử lý của Handler trong Spring MVC.
  • Thêm MediaTypeFactory, hỗ trợ cơ chế giải quyết thống nhất cho kiểu truyền thông.
  • Hỗ trợ Jackson 2.9.
  • Hỗ trợ JSON Binding của Java EE 8.
  • Hỗ trợ Google Protobuf 3.x.
  • Thay thế AntPathMatcher bằng ParsingPathMatcher, giúp thực hiện phân tích cú pháp hiệu quả.

⑤ Hỗ Trợ Kotlin

Spring Framework 5 hỗ trợ Kotlin bằng cách:

  • Sử dụng Kotlin Extensions để triển khai ứng dụng Spring Framework với mã nguồn Kotlin.
  • Sử dụng Reified type parameters để truyền các lớp được mã hóa và

    giải mã mà không cần chỉ định chúng trong các phương thức như RestTemplate và API cho WebFlux.

  • Cho phép truyền đối tượng KClass cho các phương thức được cung cấp bởi Spring.
  • Sử dụng Kotlin Null Safety khi chúng ta thực hiện Injection cho các chú thích như @RequestParam hoặc @RequestHeader.
  • Cung cấp DSL (Domain Specific Language) Kotlin cho việc đăng ký Bean sử dụng Interface hàm.
  • Hỗ trợ sử dụng Kotlin script trong ScriptTemplateView.
dev_pro_it
Đang làm IT tại Japan

Bình luận

Bài viết chưa có bình luận. Hãy trở thành người bình luận đầu tiên!
Sign up for free and join this conversation.
Sign Up
If you already have a RongvangIT account Login
Danh sách thư mục
Bắt đầu ngay với RồngVàngIT - nền tảng chia sẻ kiến thức lập trình tuyệt vời cho kỹ sư Việt Nam!

Hãy đăng nhập để sử dụng hàng loạt các chức năng tuyệt vời của RồngVàngIT !

  1. 1. Bạn sẽ nhận được các bài viết phù hợp bằng chức năng theo dõi tag và người dùng.
  2. 2. Bạn có thể đọc lại các thông tin hữu ích bằng chức năng lưu trữ nội dung.
  3. 3. Chia sẻ kiến thức, đặt câu hỏi và ghi lại quá trình trưởng thành của mình cùng RồngVàngIT !
Tạo tài khoản Đăng nhập
profile Pic