Я создал Repository
, который никогда не должен подключаться автоматически, за исключением только одного класса обслуживания. Каков наилучший способ сделать это? Сначала я понял, что должен исключить этот класс из сканирования компонентов. Я добился этого с помощью:
@EnableJpaRepositories(basePackages = {"common.repositories"},
excludeFilters = @ComponentScan.Filter(type = FilterType.ASSIGNABLE_TYPE, classes = {PersistedFileRepository.class}))
Затем закончил создание репозитория как переменной внутри метода, который определяет бин класса обслуживания. Часть моего класса конфигурации ниже:
@Bean
public PersistedFileService persistedFileService(EntityManager entityManager) {
RepositoryFactorySupport repositoryFactorySupport = new JpaRepositoryFactory(entityManager);
return new PersistedFileService(repositoryFactorySupport.getRepository(PersistedFileRepository.class));
}
Это правильный способ сделать это? Моя главная проблема заключается в том, что я должен использовать общий экземпляр EntityManager (так же, как в других репозиториях). Это разумное беспокойство?