码迷,mamicode.com
首页 > 编程语言 > 详细

spring aop配置未生效

时间:2018-03-21 16:36:38      阅读:370      评论:0      收藏:0      [点我收藏+]

标签:image   amp   itme   join   声明   red   exe   ima   pad   

声明一个注解

@Target({ElementType.METHOD})   
@Retention(RetentionPolicy.RUNTIME)   
@Documented
@Order(Ordered.HIGHEST_PRECEDENCE)
public @interface RequestLimit {
}

 

配置一个切面

@Aspect
@Component
public class RequestLimitAspect {
    
    @Resource
    private JdCloudRedisManager jdRedisManager;
    
    @Resource
    private JwStoreConfigDao jwStoreConfigDao;
    
    @Before(value="execution (* com.jw.store.controller.JwStoreController.*(..)) && @annotation(limit)")
    public void limitRequest(JoinPoint joinPoint, RequestLimit limit) throws Exception{
        if(getSwitch()) {
            Object[] args = joinPoint.getArgs();
            if(args==null || args.length == 0) {
                return;
            }
            HttpServletRequest request = null;
            for(int i=0; i<args.length; i++) {
                if(args[i] instanceof HttpServletRequest) {
                    request = (HttpServletRequest) args[i];
                    break;
                }
            }
            if (request == null) {
                return;
            }
            String clientIp = IpUtil.getIpAddr(request);
            String method_name =joinPoint.getSignature().getName();
            if (method_name != null && !method_name.equals("")) {
                executeLimitMethod(method_name, clientIp);
            }
        }
    }

 

配置aop动态代理

<!-- aop动态代理 -->
    <aop:aspectj-autoproxy proxy-target-class="false"/> 

 

但死活没有运行aop, 通过各种查找,原来是动态代理配置需要配置到spring mvc xml文件中

技术分享图片

 

spring aop配置未生效

标签:image   amp   itme   join   声明   red   exe   ima   pad   

原文地址:https://www.cnblogs.com/chenge-0401/p/8617525.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!