struts2中通过自定义注解的方式实现spring的aop
以对于TestAction中的方法testMethod添加注解的情景为例
1、自定义注解类ConcurrentControllAnnotation.java
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.METHOD)
public @interface ConcurrentControllAnnotation {
//业务类型
String businessType() default "";
//用户
int userId() default 0;
}
2、aop拦截ConcurrentControllAop.java
import org.aspectj.lang.ProceedingJoinPoint;
import org.aspectj.lang.annotation.After;
import org.aspectj.lang.annotation.Around;
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Pointcut;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowi