如何不基于其他bean创建bean?

时间:2019-05-08 16:15:28

标签: java spring spring-boot lombok

我有一个配置类,其中使用@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,那么有什么方法可以防止该错误?

0 个答案:

没有答案