swagger配置时使用@EnableWebMvc注入引起的问题
记录项目引入swagger时遇到的一个问题
项目为传统ssm架构,在ApplicationContext.xml中扫描注入service等,在ApplicationContext-mvc.xml注入controller。
对于spring和springMVC本人很久没有注意使用了,公司写swagger配置类的时候使用了如下注解
@Configuration
@EnableWebMvc
@EnableSwagger2
@Profile({"test"})
其中@EnableWebMvc用于注入swagger中的控制层接口,本身没有问题,但到swagger初始化需要获取项目内其他controller接口时,会无法引入。表现为配置了接口路径后(如下图配置),访问swagger页面时没有任何接口信息。
找了很久关于@EnableWebMvc注解的介绍,注意到有说明注解和mvc:annotation-driven注入有差别,但我并不了解这方面,因此不多做介绍。
出现这个问题后建议在ApplicationContext-mvc.xml引入swagger配置,将@EnableWebMvc注解移除。
大佬们有知晓详细原因或者有其他方案的可以交流哈。