我正试图在Spring管理的JSF bean上应用AOP,但由于某种原因,只要我应用AOP, JSF就会抛出MethodNotFoundException。
下面是我的代码: web . xml<application>
<default-render-kit-id>org.apache.myfaces.trinidad.core</default-render-kit-id>
<el-resolver>org.springframework.web.jsf.el.SpringBeanFacesELResolver</el-resolver>
</application>
中
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:security="http://www.springframework.org/schema/security"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.2.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop-3.2.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-3.2.xsd">
<aop:aspectj-autoproxy/>
<bean id="loginAuditAspect" class="com.test.mobile.service.LoginAuditManagementAspect">
<constructor-arg index="0">
<list>
<bean class="com.test.mobile.service.LoginAuditableResourceResolver" />
<bean class="com.test.mobile.service.LoggedInAuditableResourceResolver" />
<bean class="com.test.mobile.service.NavigationAuditableResourceResolver" />
</list>
</constructor-arg>
</bean>
<bean id="loginService" class="com.test.mobile.service.MLoginServiceImpl" />
<bean id="memberService" class="com.test.mobile.service.MMemberServiceImpl"
scope="session">
<property name="thpContext" ref="thpContext"></property>
</bean>
<bean id="mMemberProfileBean" class="com.test.mobile.service.MMemberProfileBean"
scope="session">
<property name="memberService" ref="memberService"></property>
</bean>
<bean id="testBean" class="com.test.mobile.service.TestBean" scope="session">
</bean>
</beans>
支持Bean:
public class TestBean extends BaseBackingBean {
private static final long serialVersionUID = 1L;
@Auditable(resourceName="LoggedIn",
resourceResolverClass=com.test.mobile.service.LoggedInAuditableResourceResolver.class)
public String getXxx() {
return null;
}
}
有人能帮我在spring管理的JSF bean上应用AOP逻辑吗
您至少应该发布一些关于堆栈跟踪和方面的信息。但是,如果您丢失了方法,只应用方面试试:
<aop:aspectj-autoproxy proxy-target-class="true"/>
使用CGLIB来代理类,而不是jdk代理(只代理接口)。