Mùa xuân vẫn tiếp tục!

Năm 2012 lần đầu tiên mình lập trình với Spring lúc mình dùng nó với Strut2, thực sự thì lúc đó mình cũng chẳng hiểu được Spring là cái gì và mình dùng Spring lúc đó cũng khá ngây ngô khi sử dụng xml để làm file cấu hình và cùng thời điểm thì Strut2 đã hộ trợ sử dụng Annotation rất tốt

Sau 8 năm, có nhiều thứ đã thay đổi, Spring đã nâng cấp rất nhiều phiên bản và bây giờ nó là sự lựa chọn của rất nhiêu lập trình viên trên toàn thế giới. Không có một con số thống kê cụ thể nhưng mình nghĩ Spring bây giờ đã vượt lên Java2EE của oracle để trở thành hệ sinh thái framework được sử dụng nhiều nhất toàn cầu

Vậy spring là gì?

Spring xuất phát điểm là một thư viện để quản lý bean (các đối tượng singleton và các đối tượng prototype) cho các dự án và bây giờ trái tim của Spring vẫn là vậy với module spring-context. Nó cho phép chúng ta thoát khỏi việc khởi tạo đối tượng, giúp chúng ta tự động hóa việc set các thuộc tính cho các lớp, bind các giá trị property từ file cấu hình và rất nhiều tính năng nữa mình sẽ đề cập trong loạt bài về Spring

Khi nào thì cần dùng Spring?

Đối với những dự án phức tạp dành cho doanh nghiệp, có rất nhiều các component (service, repository, ...) thì lựa chọn spring là một giải pháp hợp lý, việc của chúng ta là xử lý nghiệp vụ, logic, còn việc quản lý cấu hình, quản lý bean hãy để spring lo. Và thực tế ngày nay chúng ta hay dùng spring cho các dự án HTTP, Websocket, Middle Service và Batch.

Cách tiếp cận nhanh nhất?

Hãy tiếp cận spring qua các ví dụ về quản lý bean sử dụng các annotation @Component, @Service và @Controller. Khi bạn đã thành thạo việc quản lý bean qua việc sử dụng các annotation này, thì có nghĩa bạn đã thành thạo #Spring rồi đó. Lưu ý là đừng học spring qua xml nhé, nó lỗi thời rồi

Kết luận

Về cơ bản thì Spring không tạo ra các công nghệ cốt lõi, nó chỉ quản lý bean và cấu hình nên với mình nó vẫn chỉ là 1 framework đi wrap lại các thư viện khác. Việc lúc nào cũng áp mô hình MVC cũng không phải là hoàn hảo và trong nhiều trường hợp và vẫn luôn có những cách giải quyết khác tốt hơn.

Tham khảo

  1. Trang chủ
  2. JavaEE vs Spring