| 領域 | Spring 3.x | Spring 4.1.5 | 影響 |
|---|---|---|---|
| Java 版本 | Java 5+ (Java 6 推薦) | **Java 6+ (Java 8 全支援)** | 可用 Lambda、Stream、Optional、新日期時間 API |
| 核心容器 | 原始類型 Bean 定義 | **泛型化 BeanFactory/ApplicationContext** | 類型安全注入,減少強轉 |
| 注解編程 | @Component, @Autowired | **@Conditional, @Lazy(注解層面), @Primary, 任意方法 @Bean** | 條件化裝配更靈活 |
| Web MVC | @Controller, @RequestMapping | **@RestController, @ControllerAdvice, Async 支援 (Callable, DeferredResult)** | REST 開發更簡潔,非阻塞控制器 |
| WebSocket | 無原生支援 | **spring-websocket + STOMP / SockJS** | 雙向實時通信標準化 |
| 消息 | JMS Template | **spring-messaging 抽象 (Message, MessageChannel, SubscribableChannel)** | 統一消息模型,支援 WebSocket/STOMP/AMQP |
| 測試 | @ContextConfiguration | **@Sql, @TransactionConfiguration 簡化、Spring TestContext 緩存增強** | 集成測試更快、更乾淨 |
| Groovy DSL | 無 | **beans.groovy 定義 Bean** | 動態配置選項 |
| JMS | JMS 1.1 | **JMS 2.0 簡化 API (JMSContext)** | 減少樣板代碼 |
| 緩存 | @Cacheable (Spring 3.1+) | **JCache (JSR-107) 標準支援、@CachePut/@CacheEvict 增強** | 標準化緩存抽象 |
Spring 3 → 4.1 是 **Java 8 時代的基礎設施大躍進**:泛型容器、WebSocket、非阻塞 MVC、標準化緩存/消息抽象。**升級成本低 (API 兼容性極高),收益極大**,建議所有維護中專案盡快遷移並啟用新特性。