Как исправить настройку bean-компонентов в весеннем загрузочном приложении - PullRequest
0 голосов
/ 19 сентября 2019

сообщество.Я столкнулся с проблемой конфигурации бинов при весенней загрузке.Другими словами: у меня 3 микросервиса (утилиты, заказы, админ).Утилиты для служебных классов, заказы для заказов книг, администратор для администрирования чего-либо.Orders и Admin имеют в качестве модуля зависимостей Utils.В Utils у меня есть класс, который используется в Orders, но не в модуле Admin, но модуль Admin зависит от Utils, потому что он использует другие служебные классы.Вернуться к заказам :) Классы заказов, используемые в Utils, например, для платежа с Autowired RestTemplate и RestTemplate требуется настройка.Ниже приведен код для понимания ...

@Import({
RestTemplateConfig.class})
@SpringBootApplication(scanBasePackages = "com.test")
public class OrdersApp {

    public static void main(String[] args) {
        SpringApplication.run(OrdersApp.class, args);
    }
}

    @Import({
    RestTemplateConfig.class})
    @SpringBootApplication(scanBasePackages = "com.test")
    public class AdminApp {

        public static void main(String[] args) {
            SpringApplication.run(OrdersApp.class, args);
        }
    }

public class Payment{

    private final RestTemplate restTemplate;
}

public Payment(
            RestTemplate restTemplate
    ) {
        this.restTemplate = restTemplate;
    }

@EnableConfigurationProperties({RestTemplateConfigProperties.class})
public class RestTemplateConfig {

    @Bean("restTemplate")
    public RestTemplate restTemplate(RestTemplateBuilder builder, RestTemplateConfigProperties configProperties) {
        return builder
                .setConnectTimeout(Duration.ofSeconds(configProperties.getConnectTimeoutSec()))
                .setReadTimeout(Duration.ofSeconds(configProperties.getReadTimeoutSec()))
                .build();
    }
}

НО

В AdminApp я не использую класс Payment с автоматическим шаблоном отдыха, который требует настройки, и мне не нужно импортировать RestTemplateConfig.class для AdminApp, но AdminApp имеет зависимость в pom.xml от Utils, у которого есть Payment с restTemplate, для которого требуется конфигурация (LOL)

Как я не могу улучшить настройки и init bean для этой ситуации

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...