Spring Framework Overview
目標
- 簡化 Java 企業級開發 (Simplify Java Enterprise Development)
架構 (Architecture)
Core Container (核心容器)
graph subgraph BeanFactory B(Bean) Cr(Core) end Ct(Context) SpEL(SpEL)
- Bean 與 Core: 提供 IoC 與 DI 的基礎功能。
- BeanFactory 用於建立與管理 Beans。
- Context:
ApplicationContext介面,負責管理 Bean 的生命週期與依賴關係。
Infrastructure (基礎設施)
graph BT A(AOP) As(Aspects) Itt(Instrumentation) M(Messaging)
- 切面導向編程 (AOP): 允許以宣告式的方式為物件添加功能(如日誌、安全性、事務)。
- Instrumentation: 使用 JMX 遠端監控應用程式。
Data Access Layer (資料存取層)
graph BT jd(JDBC) orm(ORM) trans(Transaction) oxm(OXM) jms(JMS)
- JDBC Helper: 大幅減少 JDBC 重複代碼。
- ORM (Object Relational Mapping): 整合 Hibernate 與 JPA。
- JMS (Java Message Service): 提供消息服務。
Web Layer
graph BT subgraph Home of Spring MVC Serv(Servlet) WS(WebSocket) Web(Web) Port(Portlet) end
Test Layer (測試層)
graph BT U(Unit) combine(Integration) M(Mock)
- 支援 TDD (測試驅動開發)、Mock 物件以及脫離容器的單元測試。
Spring Container (Spring 容器)
- 核心功能:
- 物件的建立與管理 (IoC)。
- 物件間依賴關係的注入 (DI)。