Spring Framework - Architecture (Part 2)
Nguồn : http://www.tutorialspoint.com/spring/spring_architecture.htm Spring có thể cung cấp cho bạn mọi chức năng cần thiết cho một application thương mại. Tuy nhiên, Spring là modular, cho phép bạn chọn lựa modules nào phù hợp với bạn mà không cần cung cấp những phần thừa thãi. Phần tiếp mình sẽ ...
Nguồn : http://www.tutorialspoint.com/spring/spring_architecture.htm
Spring có thể cung cấp cho bạn mọi chức năng cần thiết cho một application thương mại. Tuy nhiên, Spring là modular, cho phép bạn chọn lựa modules nào phù hợp với bạn mà không cần cung cấp những phần thừa thãi. Phần tiếp mình sẽ xem sét các modules trong Spring Framework.
Spring Framework cung cấp khoảng 20 module đó có thể được sử dụng dựa trên một yêu cầu ứng dụng.
Core Container
Core Container chứa Core, Bean, Context và Expression Language.
-
Module Core cung cấp các thành phần cơ bản của Framework, bao gồm các tính năng IoC và Dependency Injection.
-
Module Bean cung cấp BeanFactory là một implementation phức tạp của pattern factory.
-
Module Context được xây dựng trên nền tảng vững chắc được cung cấp bởi các module Core và Bean và nó là một phương tiện để truy cập vào bất kỳ đối tượng được quy định và cài đặt trước. Interface ApplicationContext là tâm điểm của các module Context.
-
Module SpEL cung cấp một ngôn ngữ biểu hiện mạnh mẽ để truy vấn và thao tác đối tượng đồ thị trong thời gian chạy.
Data Access/Integration
Việc truy cập dữ liệu / lớp Integration bao gồm các module JDBC, ORM, OXM, JMS và module Transaction có chi tiết như sau:
-
Module JDBC cung cấp một lớp JDBC-trừu tượng loại bỏ sự cần thiết phải làm JDBC.
-
Module ORM cung cấp các lớp integration cho các API mapping liên quan đến đối tượng, bao gồm cả JPA, JDO, Hibernate, và iBatis.
-
Module OXM cung cấp một lớp trừu tượng có hỗ trợ việc triển khai lập mapping imlementations Object / XML cho JAXB, Castor, XMLBeans, JiBX và XStream.
-
Module Java Messaging Service JMS chứa các tính năng cho tạo và xóa các message.
-
Module Transaction hỗ trợ quản lý giao dịch chương trình và khai báo cho các lớp implement những interface đặc biệt và cho tất cả các POJOs.
Web
Lớp Web bao gồm các module Web, Web-MVC, Web-Socket, và các module Web-Portlet có chi tiết như sau:
-
Module Web cung cấp các tính năng tích hợp web cơ bản như chức năng upload tập tin nhiều phần dữ liệu và khởi tạo của các container IoC sử dụng để lắng nghe servlet và context ứng dụng web.
-
Module Web-MVC chứa model-view-controller (MVC) của Spring cho các ứng dụng web.
-
Module Web-Socket cung cấp hỗ trợ cho WebSocket, giao tiếp hai chiều giữa máy khách và máy chủ trong các ứng dụng web.
-
Module Web-Portlet cung cấp việc xử lý MVC sẽ được sử dụng trong một môi trường portlet và mô phỏng các chức năng của module Web-Servlet.
Miscellaneous
Có vài module quan trọng khác như AOP, Aspects, Instrumentation, Web và Test có chi tiết như sau:
-
Module AOP cung cấp thực hiện lập trình hướng khía cạnh cho phép bạn xác định method-interceptors, pointcuts để tách mã thực hiện chức năng.
-
Module Aspects cung cấp tích hợp với AspectJ - là một framework (AOP) lập trình hướng khía cạnh mạnh mẽ.
-
Module Instrumentation cung cấp lớp hỗ trợ instrumentation và lớp loader instrumentation để sử dụng trong các máy chủ ứng dụng nhất định.
-
Module Messaging cung cấp hỗ trợ cho STOMP như WebSocket sub-protocol để sử dụng trong các ứng dụng. Nó cũng hỗ trợ model chú thích cho việc định tuyến và xử lý tin nhắn STOMP từ WebSocket.
-
Module Test hỗ trợ việc test các thành phần Spring với JUnit hoặc framework TestNG.