Spring Framework Overview

目標

  • 簡化 Java 企業級開發 (Simplify Java Enterprise Development)

架構 (Architecture)

Core Container (核心容器)

  graph
	subgraph BeanFactory
	B(Bean)
	Cr(Core)
	end
	Ct(Context)
	SpEL(SpEL)
  1. Bean 與 Core: 提供 IoC 與 DI 的基礎功能。
    • BeanFactory 用於建立與管理 Beans。
  2. Context: ApplicationContext 介面,負責管理 Bean 的生命週期與依賴關係。

Infrastructure (基礎設施)

  graph BT
	A(AOP)
	As(Aspects)
	Itt(Instrumentation)
	M(Messaging)
  1. 切面導向編程 (AOP): 允許以宣告式的方式為物件添加功能(如日誌、安全性、事務)。
  2. Instrumentation: 使用 JMX 遠端監控應用程式。

Data Access Layer (資料存取層)

  graph BT
	jd(JDBC)
	orm(ORM)
	trans(Transaction)
	oxm(OXM)
	jms(JMS)
  1. JDBC Helper: 大幅減少 JDBC 重複代碼。
  2. ORM (Object Relational Mapping): 整合 Hibernate 與 JPA。
  3. 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)
  1. 支援 TDD (測試驅動開發)、Mock 物件以及脫離容器的單元測試。

Spring Container (Spring 容器)

  • 核心功能:
    • 物件的建立與管理 (IoC)。
    • 物件間依賴關係的注入 (DI)。