Kiến trúc Spring Framework

Kiến trúc Spring Framework bao gồm khoảng 20 mô-đun, các mô-đun này được nhóm lại thành Core Container, Data Access/Integration, Web, AOP, Instrumentation, Messaging, Test.

Spring Framework là một nền tảng mã nguồn mở, ban đầu được viết bởi Rod Johnson và được phát hành lần đầu tiên vào tháng 6 năm 2003 theo giấy phép Apache 2.0.

Spring còn được gọi là framework of frameworks bởi vì bộ khung của Spring có thể hỗ trợ cho Struts, Hibernate, JSF. Nếu bạn đang trong giai đoạn tìm hiểu về Spring thì Spring Core là phần nên tìm hiểu trước. Nếu bạn hiểu rõ Spring Core sẽ giúp dễ dàng tiếp cận với các mô-đun khác trong họ hàng Spring.

Kiến trúc Spring Framework

Phần trình bày sau đây là tổng quan về kiến trúc Spring Framework.

1. Core Container

Kiến trúc Spring Framework

Core Container bao gồm các mô-đun như Core, Bean, Context và Expression Language:

  • CoreBean: là thành phần cốt lõi trong Spring Framework. Đây chính là nền tảng để xây dựng nên các thành phần khác trong hệ sinh thái của Spring Framework. Cung cấp các tính năng Inversion of Control (IoC) và Dependency Injection (DI).
  • Context: được sử dụng để truy cập các đối tượng tương tự như việc đăng ký một JNDI (Java Naming and Directory Interface). Mô-đun Context kế thừa các tính năng từ mô-đun Bean và thêm hỗ trợ đa ngôn ngữ (internationalization), event-propagation, resource-loading. Ngoài ra còn hỗ trợ các tính năng như EJB, JMX, RMI.
  • SpEL: là một ngôn ngữ ngắn gọn giúp cho việc cấu hình Spring Framework trở nên linh hoạt hơn.

2. Web

Kiến trúc Spring Framework

Web bao gồm các mô-đun như Web, Servlet, Web Socket và Portlet hỗ trợ việc tạo ứng dụng Web:

  • Web: cung cấp các tính năng tích hợp hướng web cơ bản như khởi tạo IoC Container, multipart file-upload…
  • Servlet: cung cấp triển khai mô hình MVC (Model – View – Controller). 
  • Web Socket: hỗ trợ cho giao tiếp hai chiều giữa client và server trong các ứng dụng web.
  • Portlet: triển khai MVC được sử dụng trong môi trường portlet.

3. Data Access/Integration

Kiến trúc Spring Framework

Data Access/Integration bao gồm các mô-đun như JDBC, ORM, OXM, JMS và Transaction cung cấp khả năng tương tác với dữ liệu:

  • JDBC: cung cấp sự trừu tượng hóa trên API JDBC của Java, cung cấp lớp JdbcTemplate để dễ dàng thao tác với cơ sở dữ liệu.
  • ORM (Object Relational Mapping): tích hợp cho các API ánh xạ quan hệ đối tượng. Các công nghệ được hỗ trợ bao gồm JPA, JDO, Hibernate, iBatis.
  • OXM (Object XML Marshalling): cung cấp lớp trừu tượng để sử dụng một số triển khai ánh xạ Object/XML. Các công nghệ được hỗ trợ bao gồm JAXB, Castor, XMLBeans, JiBX và XStream.
  • JMS (Java Message Service): cung cấp triển khai JMS như ActiveMQ và RabbitMQ.
  • Transaction: hỗ trợ hai kiểu quản lý transaction gồm ProgrammaticDeclarative.

4. Miscellaneous

Kiến trúc Spring Framework

Ngoài ra Spring Framework còn một số các mô-đun khác như AOP (Aspect Oriented Programming), Aspects, Instrumentation, Messaging, Test:

  • AOP: là lập trình hướng khía cạnh, kỹ thuật lập trình nhằm phân tách chương trình thành các mô-đun riêng rẽ, không phụ thuộc nhau. AOP không phải dùng để thay thế OOP mà để bổ sung cho OOP.
  • Aspects: cung cấp tích hợp với AspectJ. AspectJ là một thư viện, đặc tả trong Java để thực hiện AOP.
  • Instrumentation: hỗ trợ class instrumentation và class loader, được sử dụng trong các ứng dụng máy chủ.
  • Messaging: mô-đun cung cấp hỗ trợ STOMP (Simple Text Oriented Messaging Protocol).
  • Test: hỗ trợ JUnit hoặc TestNG.

Lời kết: Trong thời gian tới Tech Finally sẽ tiếp tục ra mắt nhiều nội dung khác liên quan đến Spring miễn phí đến bạn đọc, các bạn nhớ theo dõi kênh để có được những chia sẻ mới nhất.

(Tác giả: Truong Duong)

Bình luận