Интерфейс репозитория пользователя:
public interface IUserRepository extends MongoRepository<User, Long>, IUserDAO {
}
Интерфейс DAO пользователя:
public interface IUserDAO {
List<User> query(String field, String val);
}
Реализация DAO пользователя:
@Repository
@Qualifier("UserDAO")
public class UserDAO implements IUserDAO {
@Autowired
private MongoTemplate mongoTemplate;
@Override
public List<User> query(String field, String val) {
....
}
}
Фасад пользователя:
@Component
public class UsersFacade extends BaseFacade<User> implements IUsersFacade {
static Logger logger = Logger.getLogger(UsersFacade.class.getName());
@Autowired
private IUserRepository usersRepository;
}
Пользователи:
@Document(collection = "users")
public class User {
@Id
private String id;
private String name;
//getter
//setter
}
Это ошибка, которую я получаю:
Org.springframework.beans.factory.UnsatisfiedDependencyException: Ошибка создания компонента с именем 'usersController':Неудовлетворенная зависимость выражается через поле usersFacade;Вложенное исключение - org.springframework.beans.factory.UnsatisfiedDependencyException: Ошибка при создании bean-компонента с именем 'usersFacade': Неудовлетворенная зависимость, выраженная через поле 'usersRepository';вложенное исключение: org.springframework.beans.factory.BeanCreationException: ошибка создания бина с именем 'IUserRepository': сбой вызова метода init;Вложенное исключение: org.springframework.data.mapping.PropertyReferenceException: не найдено свойство запрос для типа Пользователь!
Приведенное выше сообщение об ошибке было изменено, если я изменяю подписьизменив имя метода на query1, я получаю:
.... Ошибка вызова метода init;вложенное исключение: org.springframework.data.mapping.PropertyReferenceException: не найдено свойство query1 для типа User!
Я предполагаю, что по какой-то причине его ожидаемое совпадение междуимя файла в файлах пользователей соответствует имени методов ... если я создаю файл в именованном запросе User.java, приложение запускается.
Чего мне здесь не хватает?Я хотел бы использовать функциональность MongoRepository и добавить свои собственные операции с репозиторием - чего мне здесь не хватает?
Спасибо!