У меня есть несколько проектов, использующих 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.
Можно ли как-то использовать сущности и репозитории в моем весеннем приложении?




Добавьте @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"})соответственно работает отлично. Спасибо...