Hello there
Mình có nghe nhiều Mid/Senior Java Dev có nói giờ Spring MVC không được sử dụng nhiều trong các dự án nữa (rất ít). Spring boot thì nhiều hơn.
Các bạn nghĩ sao về vấn đề này ? Thực tế có thật sự như vậy không và lý do vì sao thị trường lại không chuộng Spring MVC nữa
Thực tế của Spring MVC hiện nay
Mình đánh giá đây là một câu hỏi fake. Lẽ ra bạn nên hỏi: tiếng Anh của em gà mờ quá, em không tra cứu được nên nhờ anh chị tìm giúp và dịch sang tiếng Việt giúp về Spring MVC.
Ngoài việc học thêm tiếng Anh, khi gặp mấy cái research như vầy tự bạn tiến hành nhé. Đây không phải là câu hỏi mà người ta có thể trả lời được đâu, họ sẽ trả lời mang tính chủ quan. Bạn là học sinh/ sinh viên nên đăng ký học “nhập môn nghiên cứu khoa học” (nếu trường có môn tự chọn) hoặc tự học. Nên tập cách tiếp cận và giải quyết vấn đề thay vì cái gì cũng hỏi.
Spring Boot và Spring MVC đều là các framework được sử dụng để xây dựng ứng dụng, nhưng chúng có một số điểm khác biệt chính:
Mục đích
Spring MVC là một framework ứng dụng web, trong khi Spring Boot là một framework để xây dựng các ứng dụng độc lập cho sản xuất.Cấu hình
Spring Boot cung cấp các cấu hình mặc định có thể ghi đè, trong khi Spring MVC yêu cầu cấu hình thủ công.Quản lý phụ thuộc
Spring Boot sử dụng hệ thống POM khởi động để tự động quản lý các phụ thuộc, trong khi Spring MVC yêu cầu quản lý thủ công.Kiểm thử
Spring Boot cung cấp các công cụ kiểm thử và cấu hình, trong khi Spring MVC yêu cầu thiết lập thủ công môi trường kiểm thử.Thời gian phát triển
Spring Boot phát triển nhanh hơn Spring MVC vì nó cần ít thời gian thiết lập và cấu hình hơn.Dễ sử dụng
Spring Boot được xem thân thiện hơn với người mới bắt đầu dự ãn (không phải người chưa có căn bản về lập trình/ lập trình web) và cung cấp nhiều giá trị mặc định, trong khi Spring MVC yêu cầu hiểu rõ về framework.Triển khai
Các ứng dụng Spring Boot có thể được triển khai dưới dạng ứng dụng độc lập hoặc dưới dạng tệp war, trong khi các ứng dụng Spring MVC yêu cầu triển khai thủ công.Phù hợp
Spring Boot phù hợp với các dự án vừa và nhỏ và các dịch vụ siêu nhỏ, trong khi Spring MVC phù hợp hơn với các dự án doanh nghiệp quy mô lớn.Spring MVC khác gì Spring Boot?
Spring Boot là một trình tăng tốc dự án xây dựng dựa trên Spring và Spring MVC, bổ sung các quy ước, cấu hình tự động và các công cụ để giảm thời gian phát triển và độ phức tạp. Spring MVC là một mô-đun trong Spring Boot sử dụng mẫu thiết kế MVC để xây dựng các ứng dụng web.
Qua sự khác biệt trên nói lên điều gì? Người học ban đầu muốn rõ ngọn ngành về phát triển web trên Java nên học Spring MVC để được làm một số cái “bằng tay” để hiểu được web hoạt động như thế nào.
Spring Boot là sự phát triển tiếp theo, nên sử dụng trong môi trường phát triển phần mềm, dành cho lập trình viên đã có chút ít kinh nghiệm, nắm vững về phát triển web trên Java.
Những ai nhảy vào học Spring Boot ngay mà chưa có nền về lập trình web backend nào trước đó (hoặc chưa biết chút gì về Spring MVC khi vọc Java) sẽ học trên ngọn mà mất gốc, dẫn đến có những cái đơn giản nhưng loay hoay cả tuần, cả tháng không giải quyết được.
tại sao lại gọi là vấn đề?
ai mà biết, trên đời này có bao nhiêu lập trình viên, ai code gì cũng phải báo cáo cho bạn sao
lại thêm 1 câu áp đặt suy nghĩ chủ quan rồi tự cho suy nghĩ đó là sự thật rồi đi hỏi nguyên nhân
Gặp mình phỏng vấn mà nói câu này là auto rớt nhé, junior thì còn châm chước.
Let me ask you a question: What is the difference between an IT developer and an application developer?
Let me ask you again another question in reality: What is the difference between a car engineer and a car driver?
Both questions have a similarity: the former is a maker or builder and the latter is simply a user.
Those who create and develop SPRING BOOT or MVC (or MySQL or Oracle DB etc.) are real IT developers. These people do not care which package is used most.
Those who use SPRING BOOT or MVC (or MySQL or Oracle DB etc.) are poor application developers. These people care which package is used most.They are helpless when they encounter package bugs and are dependent on help from IT developers.
The babble about which package or which OOPL is better reveals the background of these people as self-deluded busybodies. If you pay too much attention for such babbles, you make yourself ridiculous.