一、AOP 核心要點
- 基於動態代理(JDK/CGLIB),先理解代理機制
- 核心概念:切面、增強、切點、連接點、代理
- 增強類型:前置、後置、環繞、異常、最終
- 三種使用方式:編程式、聲明式 XML、AspectJ 註解
- AspectJ 切點表達式編寫(execution、within、@annotation 等)
二、JdbcTemplate 關鍵認知
- Spring 對 JDBC 封裝的工具類,非框架(不管理事務、連接池)
- 核心方法:
query/update/batchUpdate/queryForObject
- 兩種配置:單例 Bean 注入 DataSource、或繼承
JdbcDaoSupport
- 為何非框架:無 ORM 映射、無會話管理、需手寫 SQL
三、事務管理精要
- 核心:PlatformTransactionManager,管理事務生命周期
- 聲明式事務:XML
<tx:advice> + AOP、或 @Transactional 註解
- 傳播行為重點:
REQUIRED(默認,加入現有事務)、REQUIRES_NEW(掛起現有,新建事務)
- 其他屬性:
readOnly、timeout、rollbackFor/noRollbackFor
四、總結
Spring 核心三大組件應用層:AOP 解耦橫切關注點,JdbcTemplate 簡化 JDBC,事務管理保證數據一致性。細節持續完善中。