El objetivo principal del proyecto Spring Data es facilitar la creación de aplicaciones impulsadas por Spring que utilicen nuevas tecnologías de acceso a datos, como bases de datos no relacionales, marcos de reducción de mapas y servicios de datos basados en la nube.
El proyecto Spring Data MongoDB tiene como objetivo proporcionar un modelo de programación basado en Spring familiar y consistente para nuevos almacenes de datos, conservando al mismo tiempo las características y capacidades específicas de la tienda. El proyecto Spring Data MongoDB proporciona integración con la base de datos de documentos MongoDB. Las áreas funcionales clave de Spring Data MongoDB son un modelo centrado en POJO para interactuar con un Document
MongoDB y escribir fácilmente una capa de acceso a datos de estilo repositorio.
Este proyecto se rige por el Código de conducta de Spring. Al participar, se espera que respete este código de conducta. Informe el comportamiento inaceptable a [email protected].
A continuación se muestra un adelanto rápido de una aplicación que utiliza Spring Data Repositories en 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" ;
}
}
Agregue la dependencia de Maven:
< dependency >
< groupId >org.springframework.data</ groupId >
< artifactId >spring-data-mongodb</ artifactId >
< version >${version}</ version >
</ dependency >
Si prefiere las últimas instantáneas de la próxima versión principal, utilice nuestro repositorio de instantáneas de Maven y declare la versión de dependencia adecuada.
< 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 >
Las instrucciones sobre cómo actualizar desde versiones anteriores de Spring Data se proporcionan en la wiki del proyecto. Siga los enlaces en la sección de notas de la versión para encontrar la versión a la que desea actualizar.
¿Tiene problemas con Spring Data? ¡Nos encantaría ayudar!
Consulte la documentación de referencia y Javadocs.
Aprenda los conceptos básicos de Spring: Spring Data se basa en Spring Framework; consulte el sitio web spring.io para obtener una gran cantidad de documentación de referencia. Si recién estás comenzando con Spring, prueba una de las guías.
Si está actualizando, consulte el registro de cambios para conocer las funciones "nuevas y destacadas".
Haga una pregunta: supervisamos stackoverflow.com en busca de preguntas etiquetadas con spring-data-mongodb
. También puedes chatear con la comunidad en Gitter.
Informe errores con Spring Data MongoDB en github.com/spring-projects/spring-data-mongodb/issues.
Spring Data utiliza Github como sistema de seguimiento de problemas para registrar errores y solicitudes de funciones. Si desea plantear un problema, siga las recomendaciones a continuación:
Antes de registrar un error, busque en el rastreador de problemas para ver si alguien ya informó el problema.
Si el problema aún no existe, cree uno nuevo.
Proporcione la mayor cantidad de información posible con el informe de problemas; nos gustaría saber la versión de Spring Data que está utilizando, la versión de JVM, Stacktrace, etc.
Si necesita pegar código o incluir un seguimiento de la pila, utilice las barreras de código Markdown ```.
El sitio spring.io contiene varias guías que muestran cómo usar Spring Data paso a paso:
Acceder a datos con MongoDB es una guía muy básica que le muestra cómo crear una aplicación sencilla y cómo acceder a datos mediante repositorios.
Acceder a datos de MongoDB con REST es una guía para crear un servicio web REST que expone datos almacenados en MongoDB a través de repositorios.
Spring Data Ejemplos contiene proyectos de ejemplo que explican características específicas con más detalle.
No es necesario compilar desde la fuente para utilizar Spring Data. Los binarios están disponibles en repo.spring.io y se puede acceder a ellos desde Maven utilizando la configuración de Maven indicada anteriormente.
Nota | La configuración de Gradle es similar a la de Maven. |
La mejor manera de comenzar es creando un proyecto Spring Boot usando MongoDB en start.spring.io. Siga este enlace para crear una aplicación imperativa y este enlace para crear una reactiva.
Sin embargo, si desea probar lo último y lo mejor, Spring Data MongoDB se puede crear fácilmente con el contenedor Maven y, como mínimo, JDK 17 (descargas de JDK).
Para compilar Spring Data MongoDB, deberá descargar e instalar una distribución de MongoDB.
Una vez que haya instalado MongoDB, debe iniciar un servidor MongoDB. Es conveniente establecer una variable de entorno en su directorio de instalación de MongoDB (por ejemplo, MONGODB_HOME
).
Para ejecutar el conjunto de pruebas completo, se requiere un conjunto de réplicas de MongoDB.
Para ejecutar el servidor MongoDB, ingrese el siguiente comando desde una línea de comandos:
$ $MONGODB_HOME /bin/mongod --dbpath $MONGODB_HOME /runtime/data --ipv6 --port 27017 --replSet rs0
...
" msg " : " Successfully connected to host "
Una vez que se inicia el servidor MongoDB, debería ver el mensaje ( msg
), " Conectado exitosamente al host ".
Observe la opción --dbpath
para el comando mongod
. Puede configurar esto como desee, pero en este caso, configuramos la ruta absoluta a un subdirectorio ( runtime/data/
) en el directorio de instalación de MongoDB (en $MONGODB_HOME
).
Debe inicializar el conjunto de réplicas de MongoDB solo una vez la primera vez que se inicia el servidor MongoDB. Para inicializar el conjunto de réplicas, inicie un cliente mongo:
$ $MONGODB_HOME /bin/mongo
MongoDB server version: 6.0.0
...
Luego ingrese el siguiente comando:
mongo > rs.initiate({ _id: ' rs0 ' , members: [ { _id: 0, host: ' 127.0.0.1:27017 ' } ] })
Finalmente, en sistemas basados en UNIX (por ejemplo, Linux o Mac OS X) es posible que necesites ajustar ulimit
. En caso de que lo necesites, puedes ajustar el ulimit
con el siguiente comando (32768 es solo una recomendación):
$ ulimit -n 32768
Puede usar ulimit -a
nuevamente para verificar que el ulimit
para " archivos abiertos " esté configurado correctamente.
Ahora está listo para construir Spring Data MongoDB. Simplemente ingrese el siguiente comando mvnw
(Maven Wrapper):
$ ./mvnw clean install
Si desea compilar con el comando mvn
normal, necesitará Maven v3.8.0 o superior.
Consulte también CONTRIBUTING.adoc si desea enviar solicitudes de extracción y, en particular, firme el Acuerdo del colaborador antes de realizar su primer cambio no trivial.
La creación de la documentación también construye el proyecto sin ejecutar pruebas.
$ ./mvnw clean install -Pantora
La documentación generada está disponible en target/antora/site/index.html
.
Spring Data MongoDB es un software de código abierto publicado bajo la licencia Apache 2.0.