Основная цель проекта Spring Data — упростить создание приложений на базе Spring, использующих новые технологии доступа к данным, такие как нереляционные базы данных, платформы сокращения карт и облачные службы данных.
Проект Spring Data MongoDB направлен на предоставление знакомой и согласованной модели программирования на основе Spring для новых хранилищ данных, сохраняя при этом функции и возможности, специфичные для хранилища. Проект Spring Data MongoDB обеспечивает интеграцию с базой данных документов MongoDB. Ключевые функциональные области Spring Data MongoDB — это POJO-ориентированная модель для взаимодействия с Document
MongoDB и простого написания уровня доступа к данным в стиле репозитория.
Этот проект регулируется Кодексом поведения Spring. Принимая участие, вы должны соблюдать этот кодекс поведения. Пожалуйста, сообщите о неприемлемом поведении по адресу [email protected].
Вот краткий тизер приложения, использующего репозитории данных Spring на Java:
public interface PersonRepository extends CrudRepository < Person , Long > {
List < Person > findByLastname ( String lastname );
List < Person > findByFirstnameLike ( String firstname );
}
@ Service
public class MyService {
private final PersonRepository repository ;
public MyService ( PersonRepository repository ) {
this . repository = repository ;
}
public void doWork () {
repository . deleteAll ();
Person person = new Person ();
person . setFirstname ( "Oliver" );
person . setLastname ( "Gierke" );
repository . save ( person );
List < Person > lastNameResults = repository . findByLastname ( "Gierke" );
List < Person > firstNameResults = repository . findByFirstnameLike ( "Oli*" );
}
}
@ Configuration
@ EnableMongoRepositories
class ApplicationConfig extends AbstractMongoClientConfiguration {
@ Override
protected String getDatabaseName () {
return "springdata" ;
}
}
Добавьте зависимость Maven:
< dependency >
< groupId >org.springframework.data</ groupId >
< artifactId >spring-data-mongodb</ artifactId >
< version >${version}</ version >
</ dependency >
Если вам нужны последние снимки предстоящей основной версии, воспользуйтесь нашим репозиторием снимков Maven и объявите соответствующую версию зависимости.
< dependency >
< groupId >org.springframework.data</ groupId >
< artifactId >spring-data-mongodb</ artifactId >
< version >${version}-SNAPSHOT</ version >
</ dependency >
< repository >
< id >spring-snapshot</ id >
< name >Spring Snapshot Repository</ name >
< url >https://repo.spring.io/snapshot</ url >
</ repository >
Инструкции по обновлению с более ранних версий Spring Data представлены в вики проекта. Перейдите по ссылкам в разделе примечаний к выпуску, чтобы найти версию, до которой вы хотите обновиться.
Возникли проблемы с Spring Data? Мы будем рады помочь!
Проверьте справочную документацию и Javadocs.
Изучите основы Spring — Spring Data основан на Spring Framework. Посетите веб-сайт Spring.io, чтобы найти множество справочной документации. Если вы только начинаете работать со Spring, попробуйте одно из руководств.
Если вы обновляетесь, ознакомьтесь с журналом изменений, чтобы найти «новые и заслуживающие внимания» функции.
Задайте вопрос — мы отслеживаем stackoverflow.com на предмет вопросов, отмеченных тегом spring-data-mongodb
. Вы также можете пообщаться с сообществом Gitter.
Сообщайте об ошибках Spring Data MongoDB на странице github.com/spring-projects/spring-data-mongodb/issues.
Spring Data использует Github в качестве системы отслеживания проблем для записи ошибок и запросов функций. Если вы хотите поднять проблему, следуйте приведенным ниже рекомендациям:
Прежде чем регистрировать ошибку, выполните поиск в системе отслеживания проблем, чтобы узнать, не сообщал ли кто-нибудь уже о проблеме.
Если проблема еще не существует, создайте новую проблему.
Пожалуйста, предоставьте как можно больше информации в отчете о проблеме. Нам хотелось бы знать версию Spring Data, которую вы используете, версию JVM, Stacktrace и т. д.
Если вам нужно вставить код или включить трассировку стека, используйте ограждения кода Markdown ```.
Сайт Spring.io содержит несколько руководств, которые шаг за шагом показывают, как использовать Spring Data:
Доступ к данным с помощью MongoDB — это очень простое руководство, которое показывает, как создать простое приложение и как получить доступ к данным с помощью репозиториев.
Доступ к данным MongoDB с помощью REST — это руководство по созданию веб-службы REST, предоставляющей данные, хранящиеся в MongoDB, через репозитории.
Примеры данных Spring содержат примеры проектов, в которых более подробно объясняются конкретные функции.
Вам не нужно выполнять сборку из исходного кода, чтобы использовать Spring Data. Двоичные файлы доступны в repo.spring.io и доступны из Maven с использованием конфигурации Maven, указанной выше.
Примечание | Конфигурация Gradle аналогична Maven. |
Лучший способ начать — создать проект Spring Boot с использованием MongoDB на start.spring.io. Перейдите по этой ссылке, чтобы создать императивное приложение, и по этой ссылке, чтобы создать реактивное.
Однако, если вы хотите опробовать новейшую и лучшую версию, Spring Data MongoDB можно легко собрать с помощью оболочки Maven и, как минимум, JDK 17 (загружаемые файлы JDK).
Чтобы собрать Spring Data MongoDB, вам необходимо загрузить и установить дистрибутив MongoDB.
После установки MongoDB вам необходимо запустить сервер MongoDB. Удобно установить переменную среды в каталог установки MongoDB (например, MONGODB_HOME
).
Для запуска полного набора тестов требуется набор реплик MongoDB.
Чтобы запустить сервер MongoDB, введите следующую команду из командной строки:
$ $MONGODB_HOME /bin/mongod --dbpath $MONGODB_HOME /runtime/data --ipv6 --port 27017 --replSet rs0
...
" msg " : " Successfully connected to host "
После запуска сервера MongoDB вы должны увидеть сообщение ( msg
) « Успешно подключено к хосту ».
Обратите внимание на параметр --dbpath
команды mongod
. Вы можете установить что угодно, но в этом случае мы устанавливаем абсолютный путь к подкаталогу ( runtime/data/
) в каталоге установки MongoDB (в $MONGODB_HOME
).
Вам необходимо инициализировать набор реплик MongoDB только один раз при первом запуске сервера MongoDB. Чтобы инициализировать набор реплик, запустите клиент mongo:
$ $MONGODB_HOME /bin/mongo
MongoDB server version: 6.0.0
...
Затем введите следующую команду:
mongo > rs.initiate({ _id: ' rs0 ' , members: [ { _id: 0, host: ' 127.0.0.1:27017 ' } ] })
Наконец, в системе на базе UNIX (например, Linux или Mac OS X) вам может потребоваться настроить ulimit
. В случае необходимости вы можете настроить ulimit
с помощью следующей команды (32768 — это всего лишь рекомендация):
$ ulimit -n 32768
Вы можете использовать ulimit -a
еще раз, чтобы убедиться, что ulimit
для « открытых файлов » установлен правильно.
Теперь вы готовы собрать Spring Data MongoDB. Просто введите следующую команду mvnw
(Maven Wrapper):
$ ./mvnw clean install
Если вы хотите выполнять сборку с помощью обычной команды mvn
, вам понадобится Maven v3.8.0 или выше.
Также см. CONTRIBUTING.adoc, если вы хотите отправить запросы на включение и, в частности, подпишите Соглашение участника перед первым нетривиальным изменением.
При сборке документации также создается проект без проведения тестов.
$ ./mvnw clean install -Pantora
Сгенерированная документация доступна по адресу target/antora/site/index.html
.
Spring Data MongoDB — это программное обеспечение с открытым исходным кодом, выпущенное под лицензией Apache 2.0.