У меня есть несколько библиотечных классов в моем проекте, которые нужно добавить в класс обслуживания.Это заявление об ошибке для IntegrationFactory class:
Рассмотрите возможность определения bean-компонента типа 'com.ignitionone.service.programmanager.integration.IntegrationFactory' в вашей конфигурации.
Эта ошибка возникает почти при каждом внедрении, в которое внедряется этот класс библиотеки.
Я уже добавил пакет библиотеки в @ ComponentScan , но, как он читается-только файл, я не могу комментировать класс библиотеки.Из какого-то ответа я узнал, что Spring не может вводить классы, которыми он не управляет.Эта библиотека не построена на Spring.
Я пытался создать метод @Bean, который возвращает IntegrationFactory (рассматриваемый класс) в классе, где используется @Inject, но это тоже, похоже, не работает.
Как это можно сделать, желательно без создания класса заглушки / копии?
Это фрагмент класса EngagementServiceImpl:
@Inject
public EngagementServiceImpl(EngagementRepository engagementRepository,
@Lazy IntegrationFactory integrationFactory, TokenRepository tokenRepository,
EngagementPartnerRepository engagementPartnerRepository, MetricsService metricsService) {
this.engagementRepository = engagementRepository;
this.integrationFactory = integrationFactory;
this.tokenRepository = tokenRepository;
this.engagementPartnerRepository = engagementPartnerRepository;
this.metricsService = metricsService;
}
Это часть внедрения:
@Autowired
private EngagementService engagementService;
Это ConfigClass:
@Configuration
public class ConfigClass {
@Bean
public IntegrationFactory getIntegrationFactory(){
Map<String, Object> globalConfig = new HashMap<>();
return new IntegrationFactory(globalConfig);
}
@Bean
@Primary
public EntityDataStore getEntityDataStore(){
EntityModel entityModel = Models.ENTITY;
return new EntityDataStore(this.dataSource(), entityModel );
}
@ConfigurationProperties(prefix = "datasource.postgres")
@Bean
@Primary
public DataSource dataSource() {
return DataSourceBuilder
.create()
.build();
}
}