SpringMVC 集成 Swagger【问题】 No qualifying bean of type RequestMappingHandlerMapping found for dependency
2015-11-10 14:23
1361 查看
问题描述
近期了解了swagger,通过swagger进行可视化的编辑和定义UI。Swagger可以帮助开发者简单的管理REST风格的API,并且支持多种框架下的管理
本文主要介绍通过SpringMVC进行集成Swagger的经历
采用的是SpringFox的开源实现,组件可以自动扫描spring的controller, 并且自动生成查询接口目录
如果引入tomcat的话,可以自动开放http://[ip]:[port]/[servicename]/[api-docs]的rest接口
通过swagger-ui可以生成漂亮的界面
中文介绍参见:酸嘢的博客
参考博客: 刘新宇的博客
集成参考
SpringMVC项目接入Springfox
Swagger框架学习分享
集成中遇到的坑
jar包引入,通过maven管理的话:pom文件应该增加<!--springfox依赖--> <dependency> <groupId>com.mangofactory</groupId> <artifactId>swagger-springmvc</artifactId> <version>1.0.2</version> </dependency> <!--jackson依赖--> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <version>2.4.2</version> </dependency> <!--静态页面依赖的webjar--> <dependency> <groupId>org.webjars.bower</groupId> <artifactId>swagger-ui</artifactId> <version>2.1.8-M1</version> </dependency>
配置方式冲突问题,错误日志显示的模棱两可,问题描述如下
No qualifying bean of type [org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping] found for dependency
经过网上调查结果, 发现是配置冲突的问题
上述文章中配置方式都是全部注解的,也许没有什么大问题
但是世界项目中是注解和xml文件配置都有,所以可能产生冲突
查看了下面的两个问题回复
[stringfox issue 462],[stringfox issue 160]
I was having the same problem and am using the XML configuration.
I removed the @Configuration attribute from my SwaggerConfig and it worked fine.
最终看到了,按照SpringMVC项目接入Springfox进行集成的话
如果出现了上述问题,将
@Configuration配置干掉,而是采用bean的方式进行配置
问题集合
[stringfox issue 462]: https://github.com/springfox/springfox/issues/462
[stringfox issue 160]: https://github.com/springfox/springfox/issues/160
[竞态条件深入分析]: http://forum.spring.io/forum/spring-projects/web/112154-unable-to-autowire-requestmappinghandlermapping-in-controller
相关文章推荐
- unity残影效果的实现
- iOS Xcode工程目录的 folder 和 group的区别(蓝色和黄色文件夹的区别)
- android 开源库
- Android自定义控件之应用程序首页轮播图
- Objective-C上地球坐标系到火星坐标系转换算法
- JsonMappingException: (was java.lang.NullPointerException)
- (NO.00003)iOS游戏简单的机器人投射游戏成形记(七)
- (NO.00003)iOS游戏简单的机器人投射游戏成形记(七)
- (NO.00003)iOS游戏简单的机器人投射游戏成形记(七)
- 史上最全的常用iOS的第三方框架
- Android Preference 事件处理
- 使用Cocos2d-lua开发植物大战僵尸07-实现开始游戏按钮功能和主场景触摸监听
- Android EditText添加数字自动加空格显示
- 63、加速android应用(转载)
- 《IT蓝豹》完整阅读软件客户端app
- IOS创建二维码
- IOS创建二维码
- 最近刚学Swift,所以就做了个计算器
- android TextView 字体透明度设置
- Unity3D研究院之深入理解Unity脚本的执行顺序(六十二)