qqq460363410 2015-08-18 07:56 采纳率: 0%
浏览 2119

swagger整合spring出错

整合的时候出现这个。Could not autowire method: public void com.star.p2p.webwork.swagger.MySwaggerConfig.setSpringSwaggerConfig(com.mangofactory.swagger.configuration.SpringSwaggerConfig);不知道什么原因图片说明

  • 写回答

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列表中。

    评论

报告相同问题?