Блокировка репозитория автозаписи весной - PullRequest
0 голосов
/ 13 января 2020

Я создал 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 (так же, как в других репозиториях). Это разумное беспокойство?

...