整合的时候出现这个。Could not autowire method: public void com.star.p2p.webwork.swagger.MySwaggerConfig.setSpringSwaggerConfig(com.mangofactory.swagger.configuration.SpringSwaggerConfig);不知道什么原因
swagger整合spring出错
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
1条回答 默认 最新
你知我知皆知 2024-08-04 05:53关注以下回答参考 皆我百晓生、券券喵儿 等免费微信小程序相关内容作答,并由本人整理回复。
这个问题可能是因为在Spring Boot项目中使用了
@Configuration注解和@EnableWebMvc注解时,没有正确地指定依赖关系导致的。你提到的问题是:在配置类(例如
MySwaggerConfig.java)中尝试注入一个名为springSwaggerConfig的属性到setSpringSwaggerConfig方法中,并且尝试创建一个新的SwaggerSpringMvcPlugin实例。然而,当运行你的程序时,似乎发生了错误,具体错误信息是Could not autowire method: public void com.star.p2p.webwork.swagger.MySwaggerConfig.setSpringSwaggerConfig(com.mangofactory.swagger.configuration.SpringSwaggerConfig);。根据这段描述,问题可能是由于你在配置类中直接注入了
SpringSwaggerConfig对象而没有正确地指定依赖关系所导致的。解决此问题的方法是在配置类中声明SpringSwaggerConfig作为依赖,并将其传递给构造函数或setter方法。以下是一个示例:import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Configuration; import org.springframework.http.HttpMethod; import org.springframework.security.config.annotation.web.builders.HttpSecurity; import org.springframework.security.oauth2.config.annotation.web.configuration.EnableResourceServer; import org.springframework.security.oauth2.config.annotation.web.configuration.ResourceServerConfigurerAdapter; @Configuration @EnableResourceServer public class ResourceServerConfig extends ResourceServerConfigurerAdapter { @Autowired private SpringSwaggerConfig springSwaggerConfig; @Override public void configure(HttpSecurity http) throws Exception { http .authorizeRequests() // 允许访问所有资源 .anyRequest().permitAll() .and() .csrf().disable(); } // 可选:自定义OAuth2认证流程 @Override public void configure(OAuth2ClientDetailsService oAuth2ClientDetailsService) throws Exception { // ... } }在这个例子中,我们在
ResourceServerConfig类中声明了一个SpringSwaggerConfig作为依赖,并通过@Autowired注解将它注入到构造函数中。这样,Spring容器就可以自动为myApp项目的MySwaggerConfig类提供SpringSwaggerConfig对象,从而避免了上述错误。请注意,你需要确保在你的
application.properties文件中设置了正确的spring.resource.server.url环境变量,以便在生产环境中正确地启动服务。如果你正在使用@ComponentScan注解来扫描其他包,请确保这些包也包含在你的basePackages列表中。解决 无用评论 打赏 举报