1. 程式人生 > >3.AOP面向切面程式設計

3.AOP面向切面程式設計

1.

  1. 首先我要控制事務,要想控制事務就得使用一個connection
  2. 所以只能提取出來connection
  3. 所以注重物件的注入

這個重點就是怎麼注入的問題?

重點:加強聯絡 IOC

2.

1.怎麼踢掉重複程式碼?

2.動態代理!AOP

作用就是在程式執行期間不改變原始碼對已有方法進行增強。Jdk動態代理

3.為什麼需要CGLIB動態代理?這個可以不要求實現介面。

這個基於子類的動態代理

  1. 什麼時候需要用到封裝思想?當要求返回結果集跟實體類屬性一樣,那麼就需要封裝思想。
  2. 什麼時候用AOP?就是當我們重複的程式程式碼抽取出來,在需要執行的時候,使用動態代理技術,在不修改原始碼的 基礎上,對我們的已有的方法進行增強。
  3. Oop是面向物件程式設計。

3.

我們需要告訴spring:

增強的類是誰?公用程式碼

對哪些方法增強,切入點:宣告間和通知間的。

增強程式碼何時執行:通知類別。

所有的切入點都是連線點。被增強的 都是切入點。

 

4.

當我們配置了環繞通知之後,當執行時,切入點方法沒有執行,而環繞通知執行了

我們的環繞通知中,沒有明確的切入點方法呼叫。

解決:Spring框架個哦我們提供了一個介面,ProceedingPoin。該介面可以作為環繞通知的方法引數來呼叫。在程式執行期間,spring會給我們提供介面的實現類,我們在環繞通知中直接使用就行。

介面中有個方法:proceed(),他的作用就相當於method.invoke()明確呼叫切入點方法。

Spring環繞通知:

它是給我們提供的一種可以在程式碼中手動控制增強方法何時關於執行的機制。