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