zoukankan      html  css  js  c++  java
  • <aop:aspectj-autoproxy proxy-target-class="false"/>导致出现404状态码

    今天干活的时候,由于是一个web应用,想在每次发送请求和返回响应的时候记录日志,也就是代理Controller,想起了之前的spring AOP,于是按照之前的配置配置好了,可是发现每次前端发送请求都会返回404状态码,这我就蒙了,如图:

    而后检查后台程序,什么问题都没有,但是前端就是请求失败,郁闷死我了,后来还是在Google中找到了解决答案,但是也不知其所以然,后来又看了Spring给的官方的文档,但是和网上给的解决方案有差距,果断两者试了一下。

    废话不说,直入正题。

    Spring 是这样处理AOP代理的问题的,它有两套动态代理的实现,一个是JDK方法的实现,一个就是cglib,proxy-target-class就是决定使用哪个实现方式的开关,当该值是false时,使用JDK的实现方式,这也是默认的实现方式,反之则使用cglib的实现方式。当我把该值设置为true时,也就是使用cglib,问题解决,顺利跑通。


     
    1. <aop:aspectj-autoproxy proxy-target-class="true"/>  

    /***************************后记*******************************/

    还有一个问题,由于默认是使用JDK实现动态代理,并且我的被代理类也实现了一个接口ApplicationListener,按理说用JDK的方式是来实现代理是没有问题的,但是从实际结果来看,必须得使用cglib才行,这个问题我一直搞不明白,先记下,留底。

    转自:http://blog.csdn.net/lmy86263/article/details/50789842

  • 相关阅读:
    Debian 添加用户
    如何让安卓手机访问内网服务器?
    数据库权限
    CentOs
    批量导入sql文件。
    使用Navicat Premium连接mysql数据库
    git 合包
    linux 下文件打包
    git 分支管理
    gcc8.2安装
  • 原文地址:https://www.cnblogs.com/flywang/p/7762123.html
Copyright © 2011-2022 走看看