Spring的AOP(一) 什麼是AOP

2021-08-24 21:19:31 字數 1099 閱讀 3773

一:aop簡介

1. 定義:將程式中的交叉業務邏輯(比如安全,日誌,事務等),封裝成乙個切面,然後注入到目標物件(具體業務邏輯)中去。(

聯想:過濾器

filter)

2.aop

的實現方式 (

1)靜態織入(最複雜,最強大):

在編譯階段,通過特殊的編譯器來實現把切面織入到目標物件

(2)載入織入:

在類的載入階段,通過

classloader

實現把切面織入到目標物件

(3)動態**(

proxy

,大部分

aop使用的方式):

在執行階段,通過動態**機制,為目標類生成乙個**物件

3.**模式及

spring

中**物件的生成方式

(1)利用jdk

中的proxy

實現:

要求我們的被**物件必須要去實現乙個**介面,**物件和被**物件本質是是實現了統一介面的兩個物件

注意:在獲得**物件的時候,應該拿**介面去接

(2)利用

cglib

來實現

被**物件不需要去實現乙個**介面,被**類和**類之間本質是父子類的關係

二者比較: 1

.要求目標物件要實現某個介面,這是個限制 2

.要求**物件是目標物件的子類。

cglib

生成的**物件的效能要好, 但是

proxy

生成的物件時間比較快

確定使用哪種方式的配置:

在配置檔案中指定是以哪種方式生成**物件

<

property

name

="proxytargetclass"

>

<

value

>

false

value

>

property

>

預設情況下是

false

,用的jdk

中proxy

實現的方式。為

true

則為cglib

的方式

什麼是Spring中的IOC和Aop

什麼是spring的ioc,aop ioc的基本概念是 不建立物件,但是描述建立他們的方式。在 中不直接與物件和服務進行連線,但在配置檔案中描述哪乙個元件需要哪一項服務。spring容器負責將這些聯絡在一起。也就是說,spring的ioc負責管理各種物件的建立,清除以及它們之間的聯絡。aop是指面向...

什麼是AOP程式設計?

什麼是aop程式設計?aop是oop的延續,是aspect oriented programming的縮寫,直譯意思 面向方面程式設計 面向切面程式設計。aop通過預編譯方式和執行期動態 實現在不修改源 的情況下給程式動態統一新增功能的一種技術。可以在 階段實現分離關注,實現松耦合,然後在執行時將相...

什麼是Spring和Spring的優點

什麼是spring框架 spring是乙個開源的一站式開發框架 它以ioc 控制反轉 和aop 面向切面 為核心 使用基本的j abean來完成以前只能由ejb來完成的工作 取代了ejb的臃腫 低效的開發模式 spring是j aee應用層中的解決方案 在表現層提供了springmvc以及strut...