?
Dokumen ini menggunakan Manual laman web PHP Cina Lepaskan
Spring 2.0在AOP上有很大的改進(jìn)。Spring AOP框架本身就十分易于用XML配置,不再那么繁瑣;Spring 2.0集成了AspectJ 切入點(diǎn)(pointcut)語(yǔ)言和 @AspectJ 切面(aspect)聲明類(lèi)型。 標(biāo)題為 第?6?章 使用Spring進(jìn)行面向切面編程(AOP) 的部分專(zhuān)門(mén)描述這個(gè)新支持。
Spring 2.0引入了新的模式,支持定義從常規(guī)Java對(duì)象中發(fā)展中來(lái)的切面。
此支持充分利用了AspectJ切入點(diǎn)語(yǔ)言,提供了完整類(lèi)型的通知(advice)(也就是沒(méi)有多余轉(zhuǎn)換和 Object[]
參數(shù)操作)。
標(biāo)題為 第?6.3?節(jié) “基于Schema的AOP支持” 的部分詳細(xì)描述了該支持的細(xì)節(jié)。
Spring 2.0同樣支持使用@AspectJ注解定義的切面。這些切面可以在AspectJ與Spring AOP中共享,僅僅需要(老實(shí)說(shuō)!)一些簡(jiǎn)單的配置。 在標(biāo)題為 第?6.2?節(jié) “@AspectJ支持” 的部分討論了對(duì)@AspectJ切面的支持。
Spring 2.5 加入了對(duì)bean(...)
pointcut 元素的支持,在 spring定義的bean命名中對(duì)指定的命名進(jìn)行匹配。細(xì)節(jié)請(qǐng)參閱 第?6.2.3.1?節(jié) “切入點(diǎn)指示符(PCD)的支持” 。
Spring 2.5支持對(duì)AspectJ裝載時(shí)織入的顯式支持,作為基于proxy的AOP框架的補(bǔ)充。新的context:load-time-weaver
配置元素自動(dòng)激活定義在AspectJ的META-INF/aop.xml
配置文件中的AspectJ方面,通過(guò)在底層ClassLoader中注冊(cè)的一個(gè)轉(zhuǎn)換器,把它們應(yīng)用于當(dāng)前應(yīng)用程序上下文中。注意這僅在支持類(lèi)轉(zhuǎn)換器(class transformation)的環(huán)境中才能運(yùn)作。 參閱第?6.8.4?節(jié) “在Spring應(yīng)用中使用AspectJ加載時(shí)織入(LTW)”,有對(duì)其能力和限制的描述。