So sánh Spring và Struts framework trong Java
NỘI DUNG BÀI VIẾT
Cả hai framework Spring và Struts framework đều được sử dụng để phát triển các ứng dụng web trong Java. Trong khi Struts là framework được ra đời sớm hơn thì Spring được phát triển sau này với nhiều tính năng cải tiến hơn do rút kinh nghiệm từ người đàn anh Struts
Spring là gì?
Định nghĩa: Spring được xem là một Framework có vai trò phát triển cho các ứng dụng Java. Trong số đó, phổ biến nhất là Java Enterprise và nó được sử dụng bởi hàng triệu lập trình viên khác nhau. Framework này được phát triển đầu tiên bởi Rod Johnson và được ban hành giấy phép Apache 2.0.
Tổng hợp 200+ tài liệu, sách, bài thực hành, video hướng dẫn lập trình… từ cơ bản đến nâng cao
Spring có kích thước nhẹ và trong suốt nên có thể hoạt động một cách trong suốt nhất với lập trình viên. Spring mặc dù nhẹ nhưng lại có khả năng hỗ trợ cho các ứng dụng tạo ra hiệu năng cao, sử dụng lại code dễ dàng và dễ kiểm thử,… Nhờ vậy mà các lập trình viên có thể dễ dàng thực hiện việc tối ưu hóa được hầu hết mọi công việc cũng như tiết kiệm được tối đa thời gian làm việc.
Các tính năng chính của Spring chủ yếu được sử dụng để có thể xây dựng được các ứng dụng bên trong Java Desktop, một số ứng dụng mobile, các Java Web. Một trong những mục tiêu chính nhất của Spring là đảm bảo cho việc phát triển những ứng dụng J2EE một cách dễ dàng hơn dựa trên mô hình sử dụng POJO (Plain Old Java Object).
Struts là gì?
Struts là một framework mã nguồn mở được tạo ra bởi Craig McClanahan và được tặng cho Apache Foundation vào tháng 5 năm 2000. Mục đích của framework này là phát triển các ứng dụng web bằng cách sử dụng MVC Pattern và công nghệ J2EE đơn giản và dễ dàng thông qua việc cung cấp hàng loạt tiện ích và thư viện cho người dùng.
Thành phần cơ bản của Struts
Việc tìm kiếm thêm kiến thức về những thành phần cơ bản của Struts là không thể thiếu khi bạn muốn đi sâu hơn vào việc tìm hiểu Struts là gì.
Dưới đây là các thành phần cơ bản của Struts mà bạn nên biết.
- Model: Bao gồm các quy tắc và business entities để quản lý tổ chức và các thao tác dữ liệu. Bạn có thể sử dụng lại model của ứng dụng hoặc tự xây dựng model cho riêng mình.
- View: Chịu trách nhiệm trình bày những thông tin được cung cấp bởi model. Bằng cách sử dụng HTML, thư viện tab,.. bạn có thể mở rộng khả năng của view.
- ActionServlet: Điều khiển và quản lý mọi yêu cầu khách hàng cũng như các thao tác dữ liệu.
- Action: Kết hợp chặt chẽ với ActionServlet trong việc thao tác với model.
Sự khác nhau giữa Spring vs Struts
Spring framework
Spring là các gọi tắt của Spring framework, nó còn được gọi là một application framework được sử dụng bới các ứng dụng Java dùng để xây dựng cơ sở hạ tầng và triển khai dựa trên Inversion of control (IOC) và dependency injection (DI).
KHOÁ HỌC LẬP TRÌNH DÀNH CHO NGƯỜI MỚI
Spring framework được phát triển bởi Pivotal Software, được giới thiệu lần đầu tiên vào năm 2002. Nó được viết bằng Java và chỉ hỗ trợ nền tảng Máy ảo Java (JVM). Spring cung cấp các tính năng nhiều tính năng tiện lợi giúp cho việc triển khai ứng dụng nhanh chóng, đơn giản và dễ kiểm soát hơn như quản lý transaction thông qua annotation, Spring Data giúp triển khai tầng DAO đơn giản hiệu quả và dễ dàng tùy biến. Một biến thể của Spring là Spring Boot còn mạnh mẽ hơn khi giúp các developer đẩy nhanh quá trình phát triển bằng cách cung cấp các cấu hình tự động, nhúng server trực tiếp vào ứng dụng v.v.
Struts framework
Struts là một framework dựa trên kiến trúc MVC và là một nền tảng mã nguồn mở và được sử dụng để phát triển ứng dụng web cho doanh nghiệp. Nó có trình xử lý request và response được xây dựng dựa trên request-based Framework được dùng để xử lý các yêu cầu từ người dùng. Ngoài ra AJAX, REST và SOAP cũng được Struts hỗ trợ.
Một số so sánh giữa Spring vs Struts
Spring | Struts |
---|---|
Là một lightweight framework. | Là một heavyweight framework. |
Không hỗ trợ tag library. | Hỗ trợ tag library directive. |
Loosely coupled modules – Dễ dàng mở rộng và phân tách module | Tightly coupled – Khó mở rộng hoặc phân tách module |
Nó có kiến trúc MVC phân lớp chứa 3 lớp modelling, viewing and controller | Nó không có kiến trúc phân lớp |
So sánh về hiệu xuất giữa Spring vs Struts
Spring và Struts là 2 framework khác nhau nhưng cùng được dùng để phát triển các ứng dụng web trong Java. Spring cung cấp nhiều tính năng hơn Struts tuy nhiên đều này cũng đồng nghĩa với việc kiến trúc của Spring sẽ phức tạp hơn. Spring framework được nâng cấp rất thường xuyên trong khi Struts không còn được nâng cấp ở thời điểm hiện tại.
Spring mang lợi hiệu xuất tốt hơn với kiến kiến trúc độc lập giữa các lớp model, view, và controller, ngoài ra Spring security cũng là một mảnh ghép quan trọng giúp bảo mật ứng dụng tốt hơn.
Tóm lược
Qua những thông tin trên thì các bạn có thể thấy rằng sự vượt trội của Spring so với Struts rồi đúng không. Hãy chọn Spring để bắt đầu thay vì Struts nhé. Làm việc qua vài công ty mình thấy các dự án mới bao giờ cũng chọn Spring, còn Struts chủ yếu là các dự án cũ, cho các bạn vào chủ yếu để mantain là chính chứ dự án gần như rất hiếm.
Leave a Reply