我有一个配置类,其中使用@Configuration进行注释。创建了2个bean。这些bean使用@Profile注释,因此,如果将概要文件设置为prod
,则将其实例化。
我正在使用Lombok,我的班级之一用@RequiredArgsConstructor
注释,并且我有几个private final
字段,这些字段实质上是Lombok在后台自动装配的。从它自动装配的bean中,该类中只有一种方法依赖于这些bean,并且该方法本质上仅应在生产环境中使用。
我遇到的问题是如何告诉lombok不要实例化bean?
配置:
@Configuration
@Profile("PROD")
@RequiredArgsConstructor
public class ClientFilterConfiguration {
@Bean
public Client createClient() {
... return client;
}
@Bean
public Filter createFilterBean(){
....return filter;
}
}
班级:
@Slf4j
@RestController
@RequiredArgsConstructor
@RequestMapping("/client")
public class ClientController {
private final Admin admin;
private final AdminDuo adminDuo;
private final Client client;
private final Filter filter;
public void clientPurchase(){
...
}
}
出现以下错误:
...需要找不到类型为'com.example.Client'的bean。
动作: 考虑在配置中定义类型为“ com.example.Client”的Bean。
该类中只有一种方法依赖于Client和Filter bean,那么有什么方法可以防止该错误?