Прежде чем мы сможем создать приложение, которое использует Spring Data JPA, нам нужно получить необходимые зависимости.
В этом сообщении в блоге указаны необходимые компоненты и описано, как их можно получить с помощью Maven.
Давайте начнем.
Дополнительное чтение: Если вы не знакомы с Spring Data JPA, вам следует прочитать следующий пост в блоге, прежде чем продолжить чтение этого блога: Учебное пособие по Spring Data JPA: Введение представляет собой краткое введение в Spring Data JPA и дает обзор Spring Data. интерфейсы репозитория.
Какие компоненты нам нужны?
Если мы хотим реализовать постоянный уровень, который использует Spring Data JPA, нам нужны следующие компоненты:
- Драйвер JDBC обеспечивает реализацию JDBC API для конкретной базы данных. Мы используем базу данных H2 в памяти, потому что это облегчает запуск нашего примера приложения.
- Источник данных обеспечивает соединения с базой данных для нашего приложения. Мы используем источник данных HikariCP, потому что это самый быстрый источник данных на этой планете.
- Поставщик JPA реализует API персистентности Java. Мы используем Hibernate, потому что это самый распространенный провайдер JPA.
- Spring Data JPA скрывает используемый JPA-провайдер за абстракцией репозитория.
Давайте продолжим и выясним, как мы можем получить необходимые зависимости с Maven.
Получение необходимых зависимостей с Maven
Мы можем получить необходимые зависимости с Maven, используя одну из следующих опций:
- Мы можем управлять нашими зависимостями с помощью Spring IO Platform .
- Мы можем управлять нашими зависимостями «вручную».
Давайте посмотрим на оба варианта.
Использование платформы Spring.IO
Если мы используем Spring IO Platform, нам нужно выполнить следующие шаги:
- Включить Spring IO Platform.
- Настройте необходимые зависимости в файле pom.xml.
Во-первых , мы можем включить Spring IO Platform, добавив следующий XML в наш файл POM:
|
01
02
03
04
05
06
07
08
09
10
11
|
<dependencyManagement> <dependencies> <dependency> <groupId>io.spring.platform</groupId> <artifactId>platform-bom</artifactId> <version>1.1.0.RELEASE</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies></dependencyManagement> |
После включения Spring IO Platform нам не нужно беспокоиться о версиях зависимостей, потому что Spring IO Platform об этом позаботится. Это означает, что мы можем получить необходимые зависимости, добавив следующий XML- код в раздел зависимостей нашего файла POM:
|
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
<!-- Database (H2) --><dependency> <groupId>com.h2database</groupId> <artifactId>h2</artifactId></dependency> <!-- DataSource (HikariCP) --><dependency> <groupId>com.zaxxer</groupId> <artifactId>HikariCP</artifactId></dependency> <!-- JPA Provider (Hibernate) --><dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-entitymanager</artifactId></dependency> <!-- Spring Data JPA --><dependency> <groupId>org.springframework.data</groupId> <artifactId>spring-data-jpa</artifactId></dependency> |
В нашем примере приложения также есть несколько других зависимостей. Вы можете получить полный список зависимостей, прочитав его файл pom.xml .
Дополнительное чтение:
Управление нашими зависимостями вручную
Если мы управляем нашими зависимостями «вручную», нам нужно указать номера версий всех зависимостей. Мы можем сделать это, добавив следующие объявления зависимостей в раздел зависимостей нашего файла pom.xml :
|
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
<!-- Database (H2) --><dependency> <groupId>com.h2database</groupId> <artifactId>h2</artifactId> <version>1.4.182</version></dependency> <!-- DataSource (HikariCP) --><dependency> <groupId>com.zaxxer</groupId> <artifactId>HikariCP</artifactId> <version>2.2.5</version></dependency> <!-- JPA Provider (Hibernate) --><dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-entitymanager</artifactId> <version>4.3.7.Final</version></dependency> <!-- Spring Data JPA --><dependency> <groupId>org.springframework.data</groupId> <artifactId>spring-data-jpa</artifactId> <version>1.7.1.RELEASE</version></dependency> |
Я использовал версии зависимостей, предоставляемые платформой Spring IO . Если вы хотите использовать более новые версии, вы можете найти последние доступные версии на mvnrepository.com .
Я предполагаю очевидный вопрос: какой вариант мы должны использовать?
Каков наилучший способ управления нашими зависимостями?
Если мы начинаем новый проект, мы должны использовать Spring IO Platform, потому что
- Нам не нужно беспокоиться о зависимостях версий. Например, нам не нужно беспокоиться о проблемах несовместимости, потому что мы знаем, что наши зависимости работают вместе как шарм.
- Мы всегда можем переопределить версии зависимостей, предоставляемые платформой Spring.IO.
С другой стороны, если мы добавляем Spring Data JPA в существующий проект, часто разумнее управлять нашими зависимостями вручную, потому что это требует меньше работы.
Давайте продолжим и подведем итог тому, что мы узнали из этого блога.
Резюме
Этот пост научил нас четырем вещам:
- Если мы хотим реализовать постоянный уровень, использующий Spring Data JPA, нам понадобятся следующие компоненты: драйвер JDBC, источник данных, поставщик JPA и JPA Spring Data.
- Мы можем получить необходимые зависимости, используя платформу Spring IO или управляя нашими зависимостями вручную.
- Если мы начинаем новый проект, мы должны использовать платформу Spring IO, потому что она гарантирует, что наши зависимости работают вместе, как обаяние.
- Если мы добавляем Spring Data JPA в существующий проект, мы должны управлять нашими зависимостями вручную, потому что это требует меньше работы.
Следующая часть этого руководства описывает, как мы можем настроить Spring Data JPA .
| Ссылка: | Учебное пособие по Spring Data JPA: получение необходимых зависимостей от нашего партнера по JCG |