Найти репозиторий из другого проекта весной

У меня есть несколько проектов, использующих Spring 2.1.3, и я хотел бы, чтобы они делились некоторыми объектами вместе со своими репозиториями.

Пример репозитория:

package com.my.otherproject.pojos;

import org.bson.types.ObjectId;
import org.springframework.data.mongodb.repository.ReactiveMongoRepository;
import org.springframework.stereotype.Repository;
import reactor.core.publisher.Flux;
import reactor.core.publisher.Mono;

@Repository
public interface UserDataRepository extends ReactiveMongoRepository<UserData, ObjectId> {
  Mono<UserData> findByEmail(String name);
}

otherproject включен в gradle

compile project(':pojobase')

И я добавил

@ComponentScan(basePackages = {"com.my.firstproject", "com.my.otherproject"})

в файл @Configuration.

Когда я пытаюсь использовать вышеуказанный репозиторий в своем основном проекте, я получаю сообщение об ошибке

Description:

Parameter 0 of constructor in com.my.firstproject.controllers.CustomerController required a bean of type 'com.my.otherproject.pojos.UserDataRepository' that could not be found.

Action:

Consider defining a bean of type 'com.my.otherproject.pojos.UserDataRepository' in your configuration.

Можно ли как-то использовать сущности и репозитории в моем весеннем приложении?

Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
2
0
594
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Добавьте @EnableReactiveMongoRepositories(basePackages = {"com.my.otherproject.pojos"}) в Main класс

@EnableReactiveMongoRepositories(basePackages = {"com.my.otherproject.pojos"})
public class Main {

public static void main(String[] args) {

    SpringApplication.run(Main.class);

   }
}

Я использую ReactiveMongo, поэтому JPA не работает. Но добавление @EnableReactiveMongoRepositories(basePackages = {"com.my.otherproject.pojos"}) соответственно работает отлично. Спасибо...

baao 15.04.2019 18:31

Другие вопросы по теме