spring-aop的简单实例注解版

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了spring-aop的简单实例注解版相关的知识,希望对你有一定的参考价值。

技术分享

项目结构如图,基本的spring的配置就不在赘述

1.首先编写自定义的切面类

package org.wu.test;

import org.aspectj.lang.annotation.AfterReturning;
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Before;
import org.aspectj.lang.annotation.Pointcut;
import org.springframework.stereotype.Component;
@Component
@Aspect
public class DIv {
@Pointcut("execution(* org.wu.test.WyzController.say(..))")
public void aspect(){

}

@Before("aspect()")
public void dobefore(){
System.out.println("开始");
}
@AfterReturning("aspect()")
public void doAfter(){
System.out.println("结束");
}

}

@Component:然组件扫描注入到spring容器管理
@Aspect 指定切面类

@Pointcut() 指定切入点

@Before("aspect()")前置通知

 

package org.wu.test;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.mvc.method.annotation.ResponseBodyEmitterReturnValueHandler;

@Controller
public class WyzController {
@Autowired
private Wyz wyz;

@RequestMapping("/say")
public String say() throws Exception {
wyz.say();
return "";
}

}要操作的类,就是把切面的作用指定带这个类的say方法上

这就完成了一个很简单的aop应用实例






























以上是关于spring-aop的简单实例注解版的主要内容,如果未能解决你的问题,请参考以下文章

Spring中用注解创建bean实例

深入理解spring-AOP注解的底层实现原理

spring中aop的注解实现方式简单实例

dubbo-整合springboot基于注解的简单实例

MyBatis-使用XML或注解的简单实例

Spring-AOP