Around(環繞通知):目標方法執行前執行後都調用
Before(前置通知):目標方法調用前被調用
After(後通知):目標方法調用後調用
Throws(拋出異常通知):目標方法拋出異常調用

spring中後置通知分為@After和@AfterReturning
@After表示後通知。在目標方法執行完後,執行該方法
@AfterReturning表示返回後通知。在目標方法正常執行完後,執行該方法。如果有異常,則不執行

AOP術語:
切面(Aspect):就是你要實現的交叉的非核心業務功能
通知(Advice):通知切面的實際實現代碼
切入點(Pointcut):定義通知應用在哪些連接點
目標對象(Target):被通知的對象
代理(Proxy):將通知應用到目標對象後創建的對象

spring中IOC的注入方式:
設置注入(調用set方法完成屬性的賦值)
構造方法注入(調用構造方法完成屬性的賦值)

緩存分類:
——一級緩存:在當前事務範圍內的數據緩存
Hibernate:(一級緩存)事務級緩存是基於session的生命週期實現的,Session一旦關閉,一級緩存就清除,一級緩存為Hibernate自帶的緩存,是必須的

——二級(應用級)緩存
在某個應用中火應用中某個獨立數據庫訪問子集中的共享緩存,此緩存可由多個事務共享。在Hibernate中,應用級緩存由SessionFactory實現

——分佈式緩存:即在多個應用實例,多個JVM間共享的緩存策略

hibernate對象的狀態
瞬時狀態:當實體類對象新建時。數據庫中沒有相關記錄,該對象也不受session管理。

持久狀態:當保存實體對象,或者獲得實體對象時。數據庫中有相關記錄。該對象受session管理,hibernate隨時保證數據庫記錄和對象數據的一致

遊離狀態:當事務提交或session關閉後,實體對象不再受session管理,但數據庫中有相關記錄

spring中提供的IOC容器有兩種:bean工廠和應用上下文
1、bean工廠是應用上下文的父接口。
2、從bean工廠中取出的組件,為延遲加載。而應用上下文中取出的組件,為立即加載。相比而言,應用上下文功能更為強大。
3、默認情況下,從IOC容器中取出的組件,都是單例模式