博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
当接口被调用时使用Spring拦截器注入运行时数据
阅读量:6507 次
发布时间:2019-06-24

本文共 1104 字,大约阅读时间需要 3 分钟。

hot3.png

开发背景

使用CXF暴露与调用接口,为了方便追踪错误,所以想要在接口被调用时将一些运行时数据记录起来,所以就想到了拦截器。

CXF自带拦截器,但是据我初步了解,自带的拦截器都是经过封装,用来打印日志什么的,好像没有提供给开发者定制功能的方式(没有深入了解,如果有说错请方便斧正)

流程

其实Spring的拦截器使用挺方便的,实现org.aopalliance.intercept.MethodInterceptor接口中的invoke方法,在方法中实现想要的逻辑。然后在Spring配置文件中注入它就了事。

代码

拦截器实现方法

@Override    public Object invoke(MethodInvocation invocation) throws Throwable {        //获取当前被调用的方法        Method method = invocation.getMethod();        String methodName = method.getDeclaringClass().getSimpleName() + "." + method.getName();        //执行被拦截器拦截下来的方法,获得其返回值        Object object = invocation.proceed();        //做自己的逻辑,我这里将被调用的方法信息放入返回值中。        if (object instanceof SimpleResult) {            SimpleResult result = (SimpleResult) object;            result.createMsg(methodName);        }        return object;    }

将拦截器注入IOC容器中

配置拦截器

resultLogInterceptor
*Facade

转载于:https://my.oschina.net/u/3099393/blog/798372

你可能感兴趣的文章
tp5+vue分页
查看>>
(JS基础)String 类型
查看>>
前端模块化之AMD/requireJS、CMD/seaJS
查看>>
微信小程序开发常见问题及解决方案
查看>>
两年前端职业生涯总结
查看>>
Linux常用命令 — 用户管理useradd、passwd、who、w
查看>>
航迹带您了解消防大队,培养消防意识,消除消防隐患
查看>>
秦初霜:暴风雨前的平静!接下来这五件事需要密切关注!
查看>>
设计模式(三)Animation中的策略模式
查看>>
React 优秀插件记录
查看>>
短视频一对一社交程序源码----布谷鸟直播勇敢的短视频突围者
查看>>
2018北京理工大学区块链技术讲座
查看>>
android drawable drawable-xhdpi 细节
查看>>
elementUI树形菜单获取每一级菜单的值
查看>>
vue 组件中solt 插槽使用
查看>>
前端vue:节点、树以及虚拟 DOM
查看>>
深入理解静态代理与JDK动态代理
查看>>
透过3D立方体深入理解perspective和translateZ的关系
查看>>
【译】浏览器如何工作:在现代web浏览器场景的之下
查看>>
Mysql高性能优化规范建议
查看>>