Lombok的@RequiredArgsConstructor可以初始化Spring-Webflux网络客户端吗?

w8f9ii69  于 2022-12-18  发布在  Spring
关注(0)|答案(2)|浏览(123)

我有一个带有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.
}
yrefmtwq

yrefmtwq1#

这并不是因为Lombok。当依赖项存在于应用程序上下文中时,Spring会注入依赖项。只有当示例用Spring构造型注解或通过@Bean注解创建或作为自动配置的一部分时,Spring才会创建示例。Webclient示例需要存在于要注入的应用程序上下文中。
要注入WebClient,您可以在配置类中创建如下所示的内容。

@Configuration
public class Config {

    @Bean
    public WebClient webClient(){
        return WebClient.builder().build();
    }
}
eivgtgni

eivgtgni2#

对我来说,以前的React不起作用,但我的React的基础。

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.reactive.function.client.WebClient;

@Configuration
public class WebClientConfiguration {
    
    @Bean
    public WebClient webClient(WebClient.Builder webClientBuilder){
        return webClientBuilder.build();
    }
}

相关问题