IOC容器:
- 控制反轉:将應用中的對象全部交由Spring的Bean工廠進行生成、裝配與生命周期的管理;負責JavaBean的執行個體化,依賴關系的裝配及高效的生命周期管理。
- 依賴注入:是指程式在運作期,由外部容器動态地将依賴對象注入到元件中。
應用本身不再負責依賴對象的建立和維護,依賴對象的建立及維護交由外部容器負責。
AOP:面向切面程式設計
将業務邏輯中到處重複出現的一些諸如:日志輸出、事務控制及權限控制等代碼全部抽取出來,具體運作時,再由Spring的AOP子產品自動完成重組,使業務邏輯代碼與共有功能代碼完美複合。
AOP技術是建立在java語言的反射機制與動态代理機制之上。調用者直接調用的其實是aop子產品動态生成的代理對象,再由代理對象調用目标對象完成原始的業務邏輯處理,而代理對象則已經将切面與業務邏輯方法進行了合成。
AOP關鍵詞:
1. 切面Aspect:共有的功能
2. 通知Advice:切面的具體實作
3. 連接配接點Joinpoint:程式在運作過程中能夠插入切面的地點
4. 切入點Pointcut:用于定義通知應該切入到哪些連接配接點上
5. 目标對象Target:即将切入切面的對象,也就是被通知的對象
6. 代理對象Proxy: 将通知應用到目标對象之後被動态建立的對象。代理對象的功能等于目标對象的核心業務邏輯功能加上共有的功能
7. 織入Weaving:将切面應用到目标對象進而建立一個新的代理對象的過程。