Прежде чем мы сможем создать приложение, которое использует 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 |