Использование Spring Data JDBC в приложении Spring Boot - PullRequest
0 голосов
/ 13 февраля 2019

Я ищу информацию о том, как настроить Spring Data JDBC в приложении Spring Boot (пример Gradle был бы идеальным).

Я прочитал документы ,и я знаю, что мне нужно определить реализацию Repository для каждого класса домена (или «совокупности» классов домена), например,

interface UserRepository extends CrudRepository<User, Long> {

  // custom query methods
  long countByLastname(String lastname);
}

Но не совсем понятно, какие зависимости нужно добавить, каквнедрить bean-компоненты репозитория в другие bean-компоненты, как указать Spring, где можно найти bean-компоненты репозитория и т. д.

Я бы особенно хотел узнать, как определить репозиторий, который управляет несколькими таблицами / доменамиучебный класс.Например, хранилище, которое управляет постоянством Order и его коллекцией OrderItem s.Примеры в документах показывают только, как сопоставить отдельный класс домена с репозиторием.

Ответы [ 2 ]

0 голосов
/ 13 февраля 2019

Поскольку вы используете Spring Boot для разработки своего приложения, вы можете использовать начальные модули Spring.В конкретном случае зависимость будет

implementation 'org.springframework.boot:spring-boot-starter-data-jdbc'

Версия модуля будет выбрана автоматически, если вы настроили плагин Gradle Spring

id 'org.springframework.boot' version '2.1.2.RELEASE' // Your version

При создании пользовательских интерфейсов Repository,вам просто нужно пометить их аннотацией класса @Repository.Механизм сканирования, настроенный Spring-auto, автоматически подберет их (не забудьте поместить их в подпакет, указав в качестве корневого класса @SpringBootApplication).

После этого вы сможете @Autowire свой репозиторий в службеили что вы хотите, используя, надеюсь, внедрение конструктора.

@Autowired
MyClass(final MyRepository repository) { ... }

Обратите внимание, что если у вас один конструктор, вам не нужно указывать аннотацию @Autowired.

Кстати,Data JDBC - довольно новый проект.Существуют ограничения, но я полагаю, вы нашли их в документации по Data JDBC.

0 голосов
/ 13 февраля 2019

какие зависимости нужно добавить

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-jdbc</artifactId>
</dependency>

как внедрить bean-компоненты репозитория в другие bean-компоненты

В вашем контроллере или службеили любой другой bean-компонент, вы можете автоматически подключить этот репозиторий: -

private final UserRepository userRepository;

@Autowired
public UserController(UserRepository userRepository) {
    this.userRepository = userRepository;
}

как указать Spring, где можно найти bean-компоненты репозитория

Spring Boot автоматически просканируетпакет (и подпакеты), в котором ваш основной класс помечен @SpringBootApplication.

Кроме того, аннотируйте ваш интерфейс с помощью @Repository: -

@Repository
interface UserRepository extends CrudRepository<User, Long> {
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...