2011-07-26 79 views
1

我試圖攔截所有調用JSF IUComponents工作,但是,這並不工作:AOP @Around不與JSF +春

@Pointcut("execution(* javax.faces.component.UIComponent+.encode*(..))") 
    private void interceptor() { } 

@Around("interceptor()") 
public void aroundMethod(ProceedingJoinPoint joinPoint) { 
    System.out.println("******** Hello from Interceptor Method! **********"); 
} 

然而,當我將切入點,這個工程的完美:

@Pointcut("execution(* com.hsa.business.*.*(..))") 
    private void interceptor() { } 

@Around("interceptor()") 
public void aroundMethod(ProceedingJoinPoint joinPoint) { 
    System.out.println("******** Hello from Interceptor Method! **********"); 
} 

這是我在XML中透露出的信息:

<bean id="dummyAspect" class="com.hsa.security.aspectj.JSFComponentSecurityAspect" /> 
<aop:aspectj-autoproxy /> 

和:

<application> 
<el-resolver>org.springframework.web.jsf.el.SpringBeanFacesELResolver</elresolver> 
</application> 

請幫忙...?

回答

1

我希望在與AOP自動代理和方面相同的Spring上下文中沒有可分配給javax.faces.component.UIComponent的類型的Spring bean,因此沒有發生任何事情。當Spring啓動一個上下文時,它會在INFO級別上記錄上下文中的所有bean。檢查包含「dummyAspect」的上下文,並查看UI組件是否也存在。