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