已经搭建好的demo下载:
请点击
1.首先一个基本的Springboot框架
相关的demo下载:
https://download.csdn.net/download/qq_23095607/11811555
相关的教程:
https://blog.csdn.net/qq_23095607/article/details/100930331
2.在pom.xml这种添加AOP依赖:
<!-- aop. -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-aop</artifactId>
</dependency>
3.Application类添加相关的注解:
@SpringBootApplication
@EnableAutoConfiguration(exclude={DataSourceAutoConfiguration.class})
@EnableCaching
@EnableAsync
4.添加切面以及通知
package com.example.aspect;
import org.aspectj.lang.annotation.After;
import org.aspectj.lang.annotation.AfterReturning;
import org.aspectj.lang.annotation.AfterThrowing;
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Before;
import org.aspectj.lang.annotation.Pointcut;
import org.springframework.stereotype.Component;
@Aspect
@Component
public class BrokerAspect {
/**
* 定义切入点,切入点为com.example.demo.aop.AopController中的所有函数
* 通过@Pointcut注解声明频繁使用的切点表达式
*/
@Pointcut("execution(public * com.example.demo.AopController.*(..)))")
public void BrokerAspect() {
}
/**
* @description 在连接点执行之前执行的通知
*/
@Before("BrokerAspect()")
public void doBeforeGame() {
System.out.println("吃饭之前先订餐!");
}
/**
* @description 在连接点执行之后执行的通知(返回通知和异常通知的异常)
*/
@After("BrokerAspect()")
public void doAfterGame() {
System.out.println("吃完之后好舒服1");
}
/**
* @description 在连接点执行之后执行的通知(返回通知)
*/
@AfterReturning("BrokerAspect()")
public void doAfterReturningGame() {
System.out.println("吃完之后好舒服2");
}
/**
* @description 在连接点执行之后执行的通知(异常通知)
*/
@AfterThrowing("BrokerAspect()")
public void doAfterThrowingGame() {
System.out.println("外卖坏了");
}
}
附言:@Pointcut为定义要切的位置
相关通知的加强使用请查看:https://blog.csdn.net/qq_23095607/article/details/101211322
以及加强通知的demo下载:
https://download.csdn.net/download/yeyinglingfeng/9904070
然后就可以了,