springboot 实现 aop的具体代码
时间: 2023-05-24 19:01:23 浏览: 142
SpringBoot基于注解实现Aop
以下是 Spring Boot 实现 AOP 的示例代码:
1. 创建一个注解,用于标识需要被切面处理的方法:
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
public @interface Loggable {
}
2. 创建一个切面类,用于织入切点:
@Aspect
@Component
public class LoggingAspect {
@Before("@annotation(Loggable)")
public void logMethodCall(JoinPoint joinPoint) {
String methodName = joinPoint.getSignature().getName();
System.out.println("调用方法:" + methodName);
}
}
3. 在需要被切面处理的方法上添加注解:
@Service
public class UserService {
@Loggable
public User getUserById(Long id) {
User user = userRepository.findById(id);
return user;
}
}
可以看到,通过在方法上添加 @Loggable 注解,指定了需要被切入的方法,LoggingAspect 中的 logMethodCall() 方法会在该方法被调用时自动被调用。
请注意,以上示例中的代码纯属虚构,不针对任何实际应用场景,仅供参考。
阅读全文