Hình ảnh minh họa (Nguồn: stackjava.com)
Giới thiệu Spring Framework trong Java
Spring là một Framework phát triển các ứng dụng Java được sử dụng bởi hàng triệu lập trình viên. Nó giúp tạo các ứng dụng có hiệu năng cao, dễ kiểm thử và sử dụng lại code. Spring nhẹ và trong suốt, có kích thước nhỏ chỉ khoảng 2MB và hoạt động một cách trong suốt với lập trình viên. Đây là một mã nguồn mở, được phát triển, chia sẻ và có cộng đồng người dùng rất lớn.
Spring Framework được xây dựng dựa trên 2 nguyên tắc thiết kế chính là Dependency Injection và Aspect Oriented Programming. Những tính năng cốt lõi của Spring có thể được sử dụng để phát triển các ứng dụng Java Desktop, ứng dụng di động và Java Web. Mục tiêu chính của Spring là giúp phát triển các ứ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).
Các module của Spring Framework
Test
Tầng này cung cấp khả năng hỗ trợ kiểm thử với JUnit và TestNG.
Spring Core Container
Bao gồm các module spring core, beans, context và expression language (EL).
- Spring core và bean cung cấp tính năng IOC và Dependency Injection.
- Spring Context hỗ trợ đa ngôn ngữ (internationalization), các tính năng Java EE như EJB, JMX.
- Expression Language được mở rộng từ Expression Language trong JSP. Nó cung cấp hỗ trợ việc setting/getting giá trị, các method cải tiến cho phép truy cập collections, index, các toán tử logic...
AOP, Aspects and Instrumentation
Những module này hỗ trợ cài đặt lập trình hướng khía cạnh (Aspect Oriented Programming), hỗ trợ tích hợp với AspectJ.
Data Access / Integration
Nhóm này bao gồm JDBC, ORM, OXM, JMS và module Transaction. Những module này cung cấp khả năng giao tiếp với database.
Web
Hay còn gọi là Spring MVC, nhóm này gồm Web, Web-Servlet... hỗ trợ việc tạo ứng dụng web. Spring cho phép lập trình viên sử dụng POJOs, giúp đơn giản hóa việc làm việc với EJB, ứng dụng và các luồng chạy, cấu hình khác. Spring hỗ trợ sử dụng nhiều công nghệ như ORM Framework, các logging framework, JEE, các thư viện tạo lịch trình (Quartz và JDK timer) và nhiều hơn nữa. Mô hình MVC của module Web giúp thay thế các web framework khác như Struts.
Các project con của Spring
Cũng dựa trên các nguyên tắc thiết kế cơ bản của Spring core, Spring còn phát triển nhiều project con như:
- Spring MVC: Thiết kế dành cho việc xây dựng các ứng dụng nền tảng web.
- Spring Security: Cung cấp các cơ chế xác thực (authentication) và phân quyền (authorization) cho ứng dụng của bạn.
- Spring Boot: Framework giúp phát triển và chạy ứng dụng một cách nhanh chóng.
- Spring Batch: Giúp tạo các lịch trình (scheduling) và tiến trình (processing) cho các công việc xử lý theo mẻ (batch job).
- Spring Social: Kết nối ứng dụng với các API bên thứ ba của Facebook, Twitter, Linkedin...
- Spring IO
- Spring Cloud
- Spring Mobile
- Spring for Android
- Spring Session
Các bạn có thể xem tất cả các project con của Spring tại https://spring.io/projects.
Vậy là mình đã giới thiệu qua cho các bạn về Spring. Các bài tiếp theo chúng ta sẽ lần lượt tìm hiểu các module và project con của Spring qua ví dụ và code.
Nguồn: stackjava.com