注解实现AOP

一    首先在Spring的配置文件中开启注解扫描

       <aop:aspectj-autoproxy proxy-target-class="true"/>

二    在要实现的AOP功能类上加上@Component  @Aspect这两个注解

三    在功能上添加通知类型

                @Before               前置通知

                @AfterReturning  后置通知

                @AfterThrowing   异常通知

                @Around              环绕通知

                @After                  最终通知

四    切入点  

       切入点实例来源(点击打开链接)

       方法限定表达式    execution(修饰符?    返回类型    方法名(参数)    throws    异常类型?)   

//所有public方法
execution(public * *(..))

//所有以set开头的方法
execution(* set*(..))

//com.xyz.service.AccountService中的所有方法
execution(* com.xyz.service.AccountService.*(..)) 

//com.xyz.service包下的所有类的所有方法
execution(* com.xyz.service.*.*(..))

//com.xyz.service包及其子包下的所有类的所有方法
execution(* com.xyz.service..*.*(..))

        类型限定表达式    

        within(包名.类型)      

//com.xyz.service下所有类的所有方法
within(com.xyz.service.*)

//com.xyz.service及其子包下所有类的所有方法
within(com.xyz.service..*)

五   示例

@Component
@Aspect
public class AspectComponent {

	@Before(value = "execution(* com.test.controller.*.*(..))")
	public void before(){
		System.out.println("开始测试");
	}
	
	@AfterReturning(value = "within(com.test.controller.*)")
	public void after(){
		System.out.println("结束测试");
	}
}
@Controller
public class TestAopController {
	
	@RequestMapping("/testAop.do")
	public void sayHi(){
		System.out.println("hello world");
	}
}

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值