Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/309.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 将注释工作的结果传递给注释的方法_Java_Spring_Annotations_Aop_Aspect - Fatal编程技术网

Java 将注释工作的结果传递给注释的方法

Java 将注释工作的结果传递给注释的方法,java,spring,annotations,aop,aspect,Java,Spring,Annotations,Aop,Aspect,注释: @Target(ElementType.METHOD) @Retention(RetentionPolicy.RUNTIME) public @interface Multipart { Class acceptClass(); } 注释方法: @Multipart (acceptClass = SomeClass.class) public void someMethod(SomeClass a){ //do stuff.. } 多方面: @Aspect publi

注释:

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

    Class acceptClass();

}
注释方法:

@Multipart (acceptClass = SomeClass.class)
public void someMethod(SomeClass a){
  //do stuff..
}
多方面:

@Aspect
public class MultipartAspect {

    @Autowired(required=true)
    private HttpServletRequest request;

    @Pointcut(value = "@annotation(Multipart)", argNames = "multipart")
    public void before(JoinPoint jp, Multipart multipart) {}

    @Before("before()")
    public SomeClass doStuffBeforeThing() {
       SomeClass sc = new SomeClass(); //object of passed class
       //do something..
       return sc;                      //return this to annotated method(somemethod)
    }

}

我想在方法工作之前执行注释,创建传递类(
SomeClass
)的对象,并将该类的对象传递给带注释的方法。我可以这样做吗?

你应该使用@Around advice而不是@Before。

你应该使用@Around advice而不是@Before