【问题标题】:Can Lombok's @RequiredArgsConstructor initialize a Spring-Webflux WebClient?Lombok 的 @RequiredArgsConstructor 可以初始化 Spring-Webflux WebClient 吗?
【发布时间】:2021-09-04 00:30:40
【问题描述】:

我有一个带有private final WebClient webClient 的控制器类。 而其余的私有 final 字段可以使用 Lombok 提供的 @RequiredArgsConstructor 进行初始化。 Spring-Webflux WebClient 对象似乎只能像这样初始化:this.webClient = WebClientBuilder.build(),因此 lombok 生成的构造函数不起作用。
有没有办法解决这个问题?

示例代码:

@RequiredArgsConstructor
@Controller
public class SomeController {
  private final SomeService someService;

  private final SomeConfig someConfig;

  private final SomeOtherConfig someOtherConfig;

  private final WebClient webClient;

  // etc.
}

【问题讨论】:

    标签: java spring spring-boot spring-webflux lombok


    【解决方案1】:

    这不是因为龙目岛。当依赖项存在于应用程序上下文中时,Spring 会注入依赖项。 Spring 仅在使用 Spring 构造型注释或通过 @Bean 注释创建或属于自动配置的一部分时才会创建实例。 Webclient 实例需要存在于要注入的应用程序上下文中。

    要注入WebClient,您可以在您的配置类中创建与下面相同的内容。

    @Configuration
    public class Config {
    
        @Bean
        public WebClient webClient(){
            return WebClient.builder().build();
        }
    }
    

    【讨论】:

    • 感谢您提供的信息丰富的回答!我应该猜到这个问题是我对 Spring 的误解引起的。
    猜你喜欢
    • 2018-05-09
    • 1970-01-01
    • 2020-11-30
    • 1970-01-01
    • 1970-01-01
    • 2018-08-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多