gpt4 book ai didi

java - 在 Spring AOP 中指定切入点

转载 作者:行者123 更新时间:2023-11-30 07:22:36 24 4
gpt4 key购买 nike

我熟悉 Spring AOP,尽管没有太多实践经验。

我的问题是,如果我想为一个类的某些方法而不是所有方法提供一些 AOP 功能,那么是否可以使用单个切入点。说,我的类中有四种方法 save1、save2、get1 和 get2,我只想在 save1 和 save2 上应用 AOP,那么在那种情况下我该如何创建一个单一的切入点?我的切入点表达式会是什么样子?或者有可能吗?

最佳答案

有很多方法可以做到(使用通配符表达式,使用 aspectJ 注释,..)我将举一个 aspectJ 的例子

class MyClass{
@MyPoint
public void save1(){
}

@MyPoint
public void save2(){
}

public void save3(){
}

public void save4(){
}

}

@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.METHOD)
public @interface MyPoint {
}

@Aspect
@Component
public class MyAspect {
@Before("@annotation(com.xyz.MyPoint)")
public void before(JoinPoint joinPoint) throws Throwable {
//do here what u want
}

}

所以你已经准备好了,只要你标记了@Mypoint注解,spring就会调用这个方法的aspect,确保spring正在管理这个方法和对象,而不是你。在类路径中包含 aspectJ

关于java - 在 Spring AOP 中指定切入点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12588885/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com