O objetivo principal do projeto Spring Data é facilitar a construção de aplicativos baseados em Spring que usam novas tecnologias de acesso a dados, como bancos de dados não relacionais, estruturas de redução de mapas e serviços de dados baseados em nuvem.
O projeto Spring Data MongoDB visa fornecer um modelo de programação familiar e consistente baseado em Spring para novos datastores, mantendo recursos e capacidades específicas da loja. O projeto Spring Data MongoDB fornece integração com o banco de dados de documentos MongoDB. As principais áreas funcionais do Spring Data MongoDB são um modelo centrado em POJO para interagir com um Document
MongoDB e escrever facilmente uma camada de acesso a dados no estilo de repositório.
Este projeto é regido pelo Código de Conduta Spring. Ao participar, espera-se que você cumpra este código de conduta. Por favor, relate comportamento inaceitável para [email protected].
Aqui está um teaser rápido de um aplicativo usando Spring Data Repositories em 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" ;
}
}
Adicione a dependência do Maven:
< dependency >
< groupId >org.springframework.data</ groupId >
< artifactId >spring-data-mongodb</ artifactId >
< version >${version}</ version >
</ dependency >
Se você preferir os snapshots mais recentes da próxima versão principal, use nosso repositório de snapshots Maven e declare a versão de dependência apropriada.
< 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 >
Instruções sobre como atualizar de versões anteriores do Spring Data são fornecidas no wiki do projeto. Siga os links na seção de notas de lançamento para encontrar a versão para a qual deseja atualizar.
Está com problemas com Spring Data? Adoraríamos ajudar!
Verifique a documentação de referência e Javadocs
Aprenda os fundamentos do Spring – Spring Data é baseado no Spring Framework, verifique o site spring.io para obter uma grande variedade de documentação de referência. Se você está apenas começando com o Spring, experimente um dos guias.
Se você estiver atualizando, verifique o changelog para recursos “novos e dignos de nota”.
Faça uma pergunta - monitoramos stackoverflow.com em busca de perguntas marcadas com spring-data-mongodb
. Você também pode conversar com a comunidade no Gitter.
Relate bugs com Spring Data MongoDB em github.com/spring-projects/spring-data-mongodb/issues.
Spring Data usa Github como sistema de rastreamento de problemas para registrar bugs e solicitações de recursos. Se você quiser levantar um problema, siga as recomendações abaixo:
Antes de registrar um bug, pesquise no rastreador de problemas para ver se alguém já relatou o problema.
Se o problema ainda não existir, crie um novo problema.
Forneça o máximo de informações possível com o relatório de problemas, gostamos de saber a versão do Spring Data que você está usando, a versão da JVM, Stacktrace, etc.
Se você precisar colar código ou incluir um rastreamento de pilha, use limites de código Markdown ```.
O site spring.io contém vários guias que mostram como usar o Spring Data passo a passo:
Acessando dados com MongoDB é um guia muito básico que mostra como criar um aplicativo simples e como acessar dados usando repositórios.
Acessando dados do MongoDB com REST é um guia para criar um serviço web REST expondo dados armazenados no MongoDB por meio de repositórios.
Exemplos de dados do Spring contêm projetos de exemplo que explicam recursos específicos com mais detalhes.
Você não precisa construir a partir do código-fonte para usar o Spring Data. Os binários estão disponíveis em repo.spring.io e acessíveis no Maven usando a configuração do Maven mencionada acima.
Observação | A configuração do Gradle é semelhante à do Maven. |
A melhor maneira de começar é criando um projeto Spring Boot usando MongoDB em start.spring.io. Siga este link para construir um aplicativo imperativo e este link para construir um reativo.
No entanto, se você quiser experimentar o que há de melhor e mais recente, o Spring Data MongoDB pode ser facilmente construído com o wrapper Maven e, no mínimo, JDK 17 (downloads de JDK).
Para construir o Spring Data MongoDB, você precisará baixar e instalar uma distribuição MongoDB.
Depois de instalar o MongoDB, você precisa iniciar um servidor MongoDB. É conveniente definir uma variável de ambiente para o diretório de instalação do MongoDB (por exemplo, MONGODB_HOME
).
Para executar o conjunto de testes completo, é necessário um conjunto de réplicas do MongoDB.
Para executar o servidor MongoDB, digite o seguinte comando em uma linha de comando:
$ $MONGODB_HOME /bin/mongod --dbpath $MONGODB_HOME /runtime/data --ipv6 --port 27017 --replSet rs0
...
" msg " : " Successfully connected to host "
Assim que o servidor MongoDB for inicializado, você deverá ver a mensagem ( msg
), " Conectado com sucesso ao host ".
Observe a opção --dbpath
para o comando mongod
. Você pode definir isso como quiser, mas, neste caso, definimos o caminho absoluto para um subdiretório ( runtime/data/
) no diretório de instalação do MongoDB (em $MONGODB_HOME
).
Você precisa inicializar o conjunto de réplicas do MongoDB apenas uma vez na primeira vez que o servidor MongoDB for iniciado. Para inicializar o conjunto de réplicas, inicie um cliente mongo:
$ $MONGODB_HOME /bin/mongo
MongoDB server version: 6.0.0
...
Em seguida, digite o seguinte comando:
mongo > rs.initiate({ _id: ' rs0 ' , members: [ { _id: 0, host: ' 127.0.0.1:27017 ' } ] })
Finalmente, em sistemas baseados em UNIX (por exemplo, Linux ou Mac OS X), pode ser necessário ajustar o ulimit
. Caso precise, você pode ajustar o ulimit
com o seguinte comando (32768 é apenas uma recomendação):
$ ulimit -n 32768
Você pode usar ulimit -a
novamente para verificar se o ulimit
para " arquivos abertos " foi definido corretamente.
Agora você está pronto para construir o Spring Data MongoDB. Basta inserir o seguinte comando mvnw
(Maven Wrapper):
$ ./mvnw clean install
Se quiser construir com o comando mvn
normal, você precisará do Maven v3.8.0 ou superior.
Consulte também CONTRIBUTING.adoc se desejar enviar solicitações pull e, em particular, assine o Contrato do Colaborador antes de sua primeira alteração não trivial.
Construir a documentação também constrói o projeto sem executar testes.
$ ./mvnw clean install -Pantora
A documentação gerada está disponível em target/antora/site/index.html
.
Spring Data MongoDB é um software de código aberto lançado sob a licença Apache 2.0.