Spring @Repository @Document не нужен? - PullRequest
2 голосов
/ 19 июня 2020

У меня есть приложение для весенней загрузки и я подключился к Mon go DB. Я знаю, что почти все документы или блоги говорят, что пример кода должен выглядеть так:

@Repository
public interface ProductRepository extends MongoRepository<Product, String> {

}

@Document
public class Product {
    private String id;
    private String name;
    private int price;
}

Но я обнаружил, даже если я удалю аннотации @Repository и @Document. Приложение по-прежнему может запускаться без ошибок. Spring все еще может знать, что ProductRepository - это Spring bean, а также может CRUD Product collection.

Так разве не нужно добавлять @Repository и @Document? Или есть разницу добавлять или не добавлять?

Ответы [ 2 ]

2 голосов
/ 19 июня 2020

Аннотация @Repository регистрирует класс как bean-компонент Spring, что делает его автоматическим. Spring Data не использует аннотации, но предоставляет функциональность за счет расширения классов репозитория, таких как JpaRepository или MongoRepository.

2 голосов
/ 19 июня 2020

Не обязательно.

Spring может его найти, потому что вы расширяете интерфейс MongoRepository и добавляете Product по мере его ввода.

@Repository все равно полезно, например если вы создаете собственный репозиторий.

@Document также, если вы хотите указать значения пользовательских свойств, например имя коллекции ..

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...