У меня есть класс конфигурации, в котором он аннотирован @Configuration.2 боба созданы.Эти бины используются с аннотацией @Profile, поэтому, если для профиля установлено значение prod
, он будет создан.
Я использую Lombok, один из моих классов помечен @RequiredArgsConstructor
, и у меня есть несколько полей private final
, которые, по сути, автоматически связывают Lombok в фоновом режиме.Из bean-компонентов, которые он автоматически передает, только один метод в этом классе зависит от этих bean-компонентов, и этот метод должен использоваться только в рабочей среде env.
Проблема, с которой я столкнулся, заключается в том, как я могу заставить 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, так что есть способпредотвращение этой ошибки?