Lombok 的@RequiredArgsConstructor 可以初始化一个Spring-Webflux WebClient 吗?
Can Lombok's @RequiredArgsConstructor initialize a Spring-Webflux WebClient?
我有一个带有 private final WebClient webClient
的控制器 class。
而其余的私有最终字段可以使用 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.
}
这不是因为龙目岛。 Spring 注入存在于应用程序上下文中的依赖项。 Spring 将仅在使用 Spring 构造型注释或通过 @Bean
注释创建或属于自动配置的一部分时创建实例。 Webclient
实例需要存在于要注入的应用程序上下文中。
要注入 WebClient
,您可以在配置 class.
中创建与下面相同的内容
@Configuration
public class Config {
@Bean
public WebClient webClient(){
return WebClient.builder().build();
}
}
我有一个带有 private final WebClient webClient
的控制器 class。
而其余的私有最终字段可以使用 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.
}
这不是因为龙目岛。 Spring 注入存在于应用程序上下文中的依赖项。 Spring 将仅在使用 Spring 构造型注释或通过 @Bean
注释创建或属于自动配置的一部分时创建实例。 Webclient
实例需要存在于要注入的应用程序上下文中。
要注入 WebClient
,您可以在配置 class.
@Configuration
public class Config {
@Bean
public WebClient webClient(){
return WebClient.builder().build();
}
}