如何在ColdSpring 2.0中配置AOP?

时间:2011-05-08 01:18:59

标签: coldfusion aop coldspring

我想在Coldspring 2.0中实现一些前后方法顾问,我想将new schema用于AOP和新的autoproxying功能。不幸的是,Narwhal documentation for AOP目前是悬崖峭壁。任何人都可以给我一个使用AOP架构的Coldspring 2.0配置文件的例子吗?

2 个答案:

答案 0 :(得分:2)

我刚刚在AOP文档中完成了另外一节,但同时,这里有几个例子可以让球滚动。

这是建立建议的一个例子。它在对象 timer 上调用方法 timeMethod ,它与execution(public * *(..))的切入点相匹配,后者转换为:方法执行,即公共,返回任何名称为any的东西,并接受任何类型的任何参数。从本质上讲,它匹配所有内容。

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.coldspringframework.org/schema/beans" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xmlns:aop="http://www.coldspringframework.org/schema/aop" 
    xsi:schemaLocation="http://www.coldspringframework.org/schema/beans http://coldspringframework.org/schema/coldspring-beans-2.0.xsd 
    http://www.coldspringframework.org/schema/aop http://www.coldspringframework.org/schema/coldspring-aop-2.0.xsd"
    >

<!-- AOP configuration -->  
<aop:config>
    <aop:aspect ref="timer">
        <aop:around method="timeMethod"
            pointcut="execution(public * *(..))"/>
    </aop:aspect>
</aop:config>


<bean name="timer" class="05_AOP.Timer" />
<bean name="longTime" class="05_AOP.LongTime" />

</beans>

需要注意的重要一点是,虽然Time.cfc只是一个简单的'CFC,但是为了执行周围的建议,正在使用的方法将MethodInvocation作为一个论点,如下:

public any function timeMethod(required MethodInvocation invocation)
{
     ...
}

但是你去了,有一个在CS2中使用AOP的例子。

您仍然可以使用MethodInterceptors等,但您将使用<aop:advisor>而不是<aop:aspect>

但总的来说,我现在正在研究CS2 AOP文档,所以它应该在第二天左右填写。

答案 1 :(得分:1)