关于带注释的控制器的Spring AOP建议

关于带注释的控制器的Spring AOP建议,第1张

关于带注释的控制器的Spring AOP建议

我假设你想在用注释的类中执行所有方法后提出建议@Controller。

这是一个例子:

import org.aspectj.lang.annotation.AfterReturning;import org.aspectj.lang.annotation.Aspect;import org.aspectj.lang.annotation.Pointcut;@Aspectpublic class ControllerAspect {    @Pointcut("within(@org.springframework.stereotype.Controller *)")    public void controllerBean() {}    @Pointcut("execution(* *(..))")    public void methodPointcut() {}    @AfterReturning("controllerBean() && methodPointcut() ")    public void afterMethodInControllerClass() {        System.out.println("after advice..");    }}

如果你想将Spring AOP与AspectJ语法一起使用,则还需要这样的配置文件:

<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans"    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"    xmlns:aop="http://www.springframework.org/schema/aop"    xsi:schemaLocation=" http://www.springframework.org/schema/aop  http://www.springframework.org/schema/aop/spring-aop-2.5.xsd http://www.springframework.org/schema/beans  http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">    <bean id="controllerAspect"  />    <aop:aspectj-autoproxy>        <aop:include name="controllerAspect" />    </aop:aspectj-autoproxy></beans>

注意:使用Spring AOP,Spring容器将仅编织Spring bean。如果

@Controller
对象不是Spring bean,则必须使用AspectJ编织。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/4980886.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-14
下一篇 2022-11-14

发表评论

登录后才能评论

评论列表(0条)

保存