平时不太关注的swagger, 最近拿到一个优化需求,需要把springboot 项目启动优化一下,于是开始了打怪埋坑的道路。先将讲一讲swagger 的原理实现以及优缺点。

springfox-swagger简介

签于swagger的强大功能,Java开源界大牛spring框架迅速跟上,它充分利用自已的优势,把swagger集成到自己的项目里,整了一个spring-swagger,后来便演变成springfox。springfox本身只是利用自身的aop的特点,通过plug的方式把swagger集成了进来,它本身对业务api的生成,还是依靠swagger来实现。

关于这个框架的文档,网上的资料比较少,大部分是入门级的简单使用。本人在集成这个框架到自己项目的过程中,遇到了不少坑,为了解决这些坑,我不得不扒开它的源码来看个究竟。此文,就是记述本人在使用springfox过程中对springfox的一些理解以及需要注意的地方。

springfox大致原理

springfox的大致原理就是,在项目启动的过种中,spring上下文在初始化的过程,框架自动跟据配置加载一些swagger相关的bean到当前的上下文中,并自动扫描系统中可能需要生成api文档那些类,并生成相应的信息缓存起来。如果项目MVC控制层用的是springMvc那么会自动扫描所有Controller类,跟据这些Controller类中的方法生成相应的api文档。

在经过几年程序员打怪升级后,接触的项目越来越多,发现,大型项目中swagger,

浅谈swagger优缺劣势,以及替代品相关推荐

  1. 【消息中间件】浅谈中间件优缺RabbitMQ基本使用

    消息中间件概述 MQ全称为Message Queue,消息队列是应用程序和应用程序之间的通信方法.是在消息的传输过程中保存消息的容器.多用于分布式系统之间进行通信. 为什么使用MQ 在项目中,可将一些 ...

  2. led手电筒烧灯珠_浅谈务优LED手电筒灯珠型号与区别技巧

    原标题:浅谈务优LED手电筒灯珠型号与区别技巧 LED灯珠有多种型号规格: LED灯珠的型号太多了,有直插和贴片式的,还有大功率灯珠,灯珠电流从几十毫安到几安的都有,电压就比较一致,大多都在三点几伏. ...

  3. 浅谈每日优鲜的私域运营

    每日优鲜现在企微私域用户已至百万级,按照预估,2021年企业微信的用户活跃度,相比2020年可能会再涨10倍. 这个团队有着非常非常强的方法论和理论支撑体系.不仅是上佳的方法.技巧学习对象,还是很好的 ...

  4. 浅谈下MIP的优与劣看完再决定到底要不要做MIP网站!

    MIP是百度推出的专门应用于移动网页加速的程序代码,当网站建设时使用了MIP代码后可达到秒开效果,自2017年10月百度推出<闪电算法>之后MIP越来越被广泛应用于移动网站建设当中,今天梓 ...

  5. 【JVM调优】JVM内存管理调优浅谈

    什么是JVM Java Virtual Machine,Java虚拟机 Java虚拟机有自己完善的硬件架构,如处理器.堆栈等,还具有相应的指令系统. Java虚拟机本质上就是一个程序,当它在命令行上启 ...

  6. 浅谈Spark应用程序的性能调优

    浅谈Spark应用程序的性能调优 :http://geek.csdn.net/news/detail/51819 下面列出的这些API会导致Shuffle操作,是数据倾斜可能发生的关键点所在  1. ...

  7. python类构造方法缺省_浅谈python3 构造函数和析构函数

    要点: 1.魔法方法,被__双下划线所包围 在适当的时候自动被调用 2.在创建一个对象的时候,一定会调用构造函数 3. del析构函数,在del a对象的时候,并一定会调用该析构函数 只有当该对象的引 ...

  8. Ybtoj 最优密码 单调队列(浅谈)树状数组 两种解法

    作者:hsez_yyh 链接:https://blog.csdn.net/yyh_getAC/article/details/123956399  来源:湖北省黄石二中竞赛组  著作权归作者所有.商业 ...

  9. 浅淡计算机网络安全管理论文,工程项目管理-浅谈计算机网络强化计算机网络安全管理的有益学术论文格式(2)-优度********网...

    关于无人值班变电站设计的思考-论浅析城市交通规划管理体系的构建建筑市场招投标管理工作的探讨浅谈支架龙湖大桥大跨度连续箱梁谈述路基公路工程路基施工毕业论建设项目工程的全过程造价控制阐述调制基于小波变换的 ...

最新文章

  1. 日志分析logstash插件-grok详解
  2. 编译问题二 /snmplib/tools.c:920 undefined reference to `clock_gettime' 问题解决
  3. 机器学习-回归之逻辑回归算法原理及实战
  4. Hyperledger Fabric区块链工具configtxgen配置configtx.yaml
  5. 勒索病毒攻击应急防范
  6. 023文件类型,权限,chmod,文件特殊属性
  7. 逗号表达式执行的顺序—从左到右
  8. 汇编语言程序vs. 汇编程序
  9. skd怎么接入_网易七鱼怎么接入? 网易七鱼三种接入方式介绍
  10. AMap(高德官方图层)
  11. Android Camera2 之 CameraCharacteristics 详解
  12. 基于华为云服务器Docker nginx安装和配置挂载
  13. 字符串集合中相互包含关系算法
  14. Balsamiq Mockups注册码
  15. Avast 发布免费的 BianLian 勒索软件解密器
  16. “文心CV大模型” - VIMER-UFO论文报告
  17. 品管七大手法-7直方图(转载)
  18. ffffffffffffff
  19. 2019牛客暑期多校训练营(第一场)E.ABBA
  20. XGBoost的参数介绍及调参

热门文章

  1. mysql 日常管理及维护
  2. lrs_save_param_ex的用法
  3. 【经验】win10任务栏卡死的原因和解决办法
  4. vscode语法 下划波浪线报红
  5. Python教程:zipfile模块压缩文件
  6. Linux下应用进程消失原因分析
  7. 【原创】关于职业发展
  8. android wifi 休眠策略,atheros wifi芯片ics高通平台---wifi睡眠策略分析
  9. AIOps(智能运维)中的指标算法场景分享 | 内附视频ppt资料
  10. [搜片神器]迅雷云播视频地址获取代码分享[自己动手丰衣足食]