lichangan18356288293 / java-spring-boot-mongodb-starter

MongoDB Blog Post: REST APIs with Java, Spring Boot and MongoDB

Home Page:https://www.mongodb.com/blog/post/rest-apis-with-java-spring-boot-and-mongodb

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Quick Start Java & MongoDB Project

Supported versions:

  • Java 8 to 13
  • Spring boot 2.2.0.RELEASE
  • MongoDB 4.2.1
  • MongoDB Java driver 3.11.1
  • Maven 3.6.2

MongoDB Atlas

Commands

  • Start the server in a console with mvn spring-boot:run.
  • If you add some Unit Tests, you would start them with mvn clean test.
  • You can start the end to end tests with mvn clean integration-test.
  • You can build the project with : mvn clean package.
  • You can run the project with the fat jar and the embedded Tomcat: java -jar target/java-spring-boot-mongodb-starter-1.0.0.jar but I would use a real tomcat in production.

Swagger

  • Swagger is already configured in this project in SwaggerConfig.java.
  • The API can be seen at http://localhost:8080/swagger-ui.html.
  • You can also try the entire REST API directly from the Swagger interface!

Features showcase

This project showcases several features of MongoDB:

  • MongoDB multi-document ACID transactions for 3 functions. See MongoDBPersonRepository.saveAll().
  • MongoDB Aggregation pipeline. See MongoDBPersonRepository.getAverageAge().
  • Implementation of basic CRUD queries. See MongoDBPersonRepository.java.
  • MongoDB typed collection with automatic mapping to POJOs using codecs: See ConfigurationSpring.java.
  • How to manipulate correctly ObjectidId across, the REST API, the POJOs and the database itself. See the main trick in Person.java.

And some other cool stuff:

  • You can change the default Spring Boot logo by adding a banner.txt file in your properties.
  • You don't have to use Spring Data MongoDB. The MongoDB driver is more flexible and already provide everything you need to code efficiently and optimise your queries correctly.

Author

  • Maxime Beugnet @ MongoDB.

About

MongoDB Blog Post: REST APIs with Java, Spring Boot and MongoDB

https://www.mongodb.com/blog/post/rest-apis-with-java-spring-boot-and-mongodb

License:Apache License 2.0


Languages

Language:Java 100.0%