在Spring中怎么拦截自定义的注解
步骤4:在Action或者其他service类中@AnnotationsUtil(format="#.00D")publicDoublegetTestDouble(){r...
步骤4:在Action或者其他service类中
@AnnotationsUtil(format="#.00D")
public Double getTestDouble() {
return testDouble;
}
步骤5:启动项目,当执行到方法:getTestDouble()时,不会被Spring拦截,也不会进入到解析注解的前置通知工具类:ParseAnnoAdivceUtil处理注解信息。
期望得到的效果是:当运行到某被定义注解的方法(如:getTestDouble())时,自动被拦截,并进入到解析注解的前置通知工具类:ParseAnnoAdivceUtil处理注解信息,修改被注解的方法的值...
求高手解答...谢谢...
步骤2:定义解析注解类
/**
* 解析注解的前置通知工具类
* @author E.FLY
* @date 2012-11-20
* @time 上午10:46:28
*/
public class ParseAnnoAdivceUtil implements MethodBeforeAdvice{
@Override
public void before(Method method, Object[] parems, Object impl)throws Throwable {
}
} 展开
@AnnotationsUtil(format="#.00D")
public Double getTestDouble() {
return testDouble;
}
步骤5:启动项目,当执行到方法:getTestDouble()时,不会被Spring拦截,也不会进入到解析注解的前置通知工具类:ParseAnnoAdivceUtil处理注解信息。
期望得到的效果是:当运行到某被定义注解的方法(如:getTestDouble())时,自动被拦截,并进入到解析注解的前置通知工具类:ParseAnnoAdivceUtil处理注解信息,修改被注解的方法的值...
求高手解答...谢谢...
步骤2:定义解析注解类
/**
* 解析注解的前置通知工具类
* @author E.FLY
* @date 2012-11-20
* @time 上午10:46:28
*/
public class ParseAnnoAdivceUtil implements MethodBeforeAdvice{
@Override
public void before(Method method, Object[] parems, Object impl)throws Throwable {
}
} 展开
2个回答
推荐于2016-10-15 · 知道合伙人软件行家
关注
展开全部
@Aspect
@Component//加上这个
public class MyInterceptor {
@Pointcut("execution(public * com.newer.service.imp.PersonServiecBean.save*(..))")
private void anyMethod(){}
@After(value="anyMethod()")
public void doAccess(){
System.out.println("前置通知!!");
}
}
<bean id="personService" class="com.newer.service.impl.PersonServiecBean"/>
配置里面把myInterceptor去掉
如果还不行 干脆用xml的形式
<bean id="personService" class="com.newer.servic e.impl.PersonServiecBean"/>
<bean id="myInterceptor" class="com.newer.service.MyInterceptor" />
<aop:config>
<aop:aspect id="logAspect" ref="myInterceptor">
<aop:before method="before" pointcut=("execution(public * com.newer.service.imp.PersonServiecBean.save*(..))") />
</aop:aspect>
</aop:config>
@Component//加上这个
public class MyInterceptor {
@Pointcut("execution(public * com.newer.service.imp.PersonServiecBean.save*(..))")
private void anyMethod(){}
@After(value="anyMethod()")
public void doAccess(){
System.out.println("前置通知!!");
}
}
<bean id="personService" class="com.newer.service.impl.PersonServiecBean"/>
配置里面把myInterceptor去掉
如果还不行 干脆用xml的形式
<bean id="personService" class="com.newer.servic e.impl.PersonServiecBean"/>
<bean id="myInterceptor" class="com.newer.service.MyInterceptor" />
<aop:config>
<aop:aspect id="logAspect" ref="myInterceptor">
<aop:before method="before" pointcut=("execution(public * com.newer.service.imp.PersonServiecBean.save*(..))") />
</aop:aspect>
</aop:config>
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询