Spring Boot

Spring Boot and MongoDB in REST Application

<div dir&equals;"ltr" style&equals;"text-align&colon; justify&semi;">&NewLine;<div style&equals;"text-align&colon; justify&semi;">&NewLine;<div style&equals;"font-size&colon; 13pt&semi;">&NewLine;<div style&equals;"font-family&colon; calibri&comma; sans-serif&semi; font-size&colon; 13pt&semi;">Hello friends &excl;&excl;&excl; In this tutorial we are going to discuss about using NoSQL database <a href&equals;"https&colon;&sol;&sol;dineshonjava&period;com&sol;introduction-to-mongodb&sol;">MongoDB<&sol;a> with Spring Boot Application&period; Here I will make a Spring Boot REST Application which provides REST APIs for make booking&comma; read booking&comma; update booking and delete booking&period;<&sol;div>&NewLine;<div style&equals;"font-family&colon; calibri&comma; sans-serif&semi; font-size&colon; 13pt&semi;">&NewLine;<div style&equals;"font-family&colon; calibri&comma; sans-serif&semi; font-size&colon; 13pt&semi;"><&sol;div>&NewLine;<div style&equals;"font-family&colon; calibri&comma; sans-serif&semi;"><b><i>Related Tutorials<&sol;i><&sol;b><&sol;div>&NewLine;<div style&equals;"font-family&colon; calibri&comma; sans-serif&semi; font-size&colon; 13pt&semi;"><&sol;div>&NewLine;<ol>&NewLine;<li><a style&equals;"font-size&colon; 13pt&semi;" href&equals;"https&colon;&sol;&sol;dineshonjava&period;com&sol;introduction-to-spring-boot-a-spring-boot-complete-guide&sol;"><b>Introduction to Spring Boot<&sol;b><&sol;a><&sol;li>&NewLine;<li><a style&equals;"font-size&colon; 13pt&semi;" href&equals;"https&colon;&sol;&sol;dineshonjava&period;com&sol;introduction-to-mongodb&sol;"><b>Introduction to NoSQL MongoDB<&sol;b><&sol;a><&sol;li>&NewLine;<li><a style&equals;"font-size&colon; 17&period;3333px&semi;" href&equals;"https&colon;&sol;&sol;dineshonjava&period;com&sol;spring-boot-initilizr-web-interface-and-examples&sol;"><b>Spring Boot Initializr Web Interface<&sol;b><&sol;a><&sol;li>&NewLine;<li><a style&equals;"font-size&colon; 17&period;3333px&semi;" href&equals;"https&colon;&sol;&sol;dineshonjava&period;com&sol;spring-data-jpa-using-in-spring-boot-application&sol;"><b>Spring Data JPA using Spring Boot Application<&sol;b><&sol;a><&sol;li>&NewLine;<&sol;ol>&NewLine;<div id&equals;"ads-id" align&equals;"center"><&sol;div>&NewLine;<p>&nbsp&semi;<&sol;p>&NewLine;<&sol;div>&NewLine;<div style&equals;"font-family&colon; calibri&comma; sans-serif&semi; font-size&colon; 13pt&semi;"><b>Spring Boot with NoSQL<&sol;b><&sol;div>&NewLine;<div style&equals;"font-family&colon; calibri&comma; sans-serif&semi; font-size&colon; 13pt&semi;">Spring Data provides additional projects that help you access a variety of NoSQL technologies including <a href&equals;"https&colon;&sol;&sol;dineshonjava&period;com&sol;2013&sol;01&sol;introduction-to-mongodb&period;html">MongoDB<&sol;a>&comma; Neo4J&comma; Elasticsearch&comma; Solr&comma; Redis&comma; Gemfire&comma; Couchbase and Cassandra&period; Spring Boot provides auto-configuration for Redis&comma; <a href&equals;"https&colon;&sol;&sol;dineshonjava&period;com&sol;2013&sol;01&sol;introduction-to-mongodb&period;html">MongoDB<&sol;a>&comma; Neo4j&comma; Elasticsearch&comma; Solr and Cassandra&period;<&sol;div>&NewLine;<div style&equals;"font-family&colon; calibri&comma; sans-serif&semi; font-size&colon; 13pt&semi;"><&sol;div>&NewLine;<div style&equals;"font-family&colon; calibri&comma; sans-serif&semi; font-size&colon; 13pt&semi;"><b>NoSQL MongoDB<&sol;b><&sol;div>&NewLine;<div style&equals;"font-family&colon; calibri&comma; sans-serif&semi; font-size&colon; 13pt&semi;">NoSQL is a non-relational database management system&comma; different from traditional relational database management systems in some significant ways&period; MongoDb is a Open Source database written in C&plus;&plus;&period; It can be used to store data for very high performance applications &lpar;for example Foursquare is using it in production&rpar;&period;<&sol;div>&NewLine;<div style&equals;"font-family&colon; calibri&comma; sans-serif&semi; font-size&colon; 13pt&semi;">MongoDB stores data as documents&period; So it is a document oriented database&period;<&sol;div>&NewLine;<div style&equals;"font-family&colon; calibri&comma; sans-serif&semi; font-size&colon; 13pt&semi;"><b><br &sol;>&NewLine;MongoDB with Spring Boot &amp&semi; Spring Data<&sol;b><&sol;div>&NewLine;<div style&equals;"font-family&colon; calibri&comma; sans-serif&semi; font-size&colon; 13pt&semi;"><b>Spring Boot<&sol;b> and <b>Spring Data<&sol;b> make it even easier to get a simple application up and running&period; With a little bit of configuration and minimal code&comma; you can quickly create and deploy a <b>MongoDB-based<&sol;b> application&period; Spring Boot offers several conveniences for working with MongoDB&comma; including the<b> spring-boot-starter-data-mongodb<&sol;b> &OpenCurlyQuote;<b>Starter<&sol;b>’&period;<&sol;div>&NewLine;<pre class&equals;"highlight" style&equals;"font-family&colon; calibri&comma; sans-serif&semi; font-size&colon; 13pt&semi;">&lt&semi;dependency&gt&semi; &NewLine; &lt&semi;groupId&gt&semi;org&period;springframework&period;boot&lt&semi;&sol;groupId&gt&semi; &NewLine; &lt&semi;artifactId&gt&semi;spring-boot-starter-data-mongodb&lt&semi;&sol;artifactId&gt&semi; &NewLine;&lt&semi;&sol;dependency&gt&semi; &NewLine;<&sol;pre>&NewLine;<div style&equals;"font-family&colon; calibri&comma; sans-serif&semi; font-size&colon; 13pt&semi;"><&sol;div>&NewLine;<div style&equals;"font-family&colon; calibri&comma; sans-serif&semi; font-size&colon; 13pt&semi;">&NewLine;<p>You can set <b><i>spring&period;data&period;mongodb&period;uri<&sol;i> <&sol;b>property to change the URL and configure additional settings such as the replica set&colon;<&sol;p>&NewLine;<&sol;div>&NewLine;<pre class&equals;"highlight" style&equals;"font-family&colon; calibri&comma; sans-serif&semi; font-size&colon; 13pt&semi;">spring&period;data&period;mongodb&period;uri&equals;mongodb&colon;&sol;&sol;user&colon;secret&commat;mongo1&period;example&period;com&colon;12345&comma;mongo2&period;example&period;com&colon;23456&sol;test &NewLine;<&sol;pre>&NewLine;<div style&equals;"font-family&colon; calibri&comma; sans-serif&semi; font-size&colon; 13pt&semi;"><b>Spring Data<&sol;b> includes repository support for MongoDB&period; As with the JPA repositories discussed earlier&comma; the basic principle is that queries are constructed for you automatically based on method names&period;<&sol;div>&NewLine;<div style&equals;"font-family&colon; calibri&comma; sans-serif&semi; font-size&colon; 13pt&semi;"><&sol;div>&NewLine;<div style&equals;"font-family&colon; calibri&comma; sans-serif&semi; font-size&colon; 13pt&semi;"><b>MongoDB with Spring Boot Application<&sol;b><&sol;div>&NewLine;<div style&equals;"font-family&colon; calibri&comma; sans-serif&semi; font-size&colon; 13pt&semi;">Let’s start to develop simple REST API project for ticket booking with Spring Boot and MongoDB&period; First&comma; make sure you have installed MongoDB and are able to run it&period; Second make sure you have installed Maven 4&period;X&period;<&sol;div>&NewLine;<div style&equals;"font-family&colon; calibri&comma; sans-serif&semi; font-size&colon; 13pt&semi;"><&sol;div>&NewLine;<div style&equals;"font-family&colon; calibri&comma; sans-serif&semi; font-size&colon; 13pt&semi;">Next&comma; we are going to create a Spring Boot web application&period; You can do so by using the web-based wizard here&period; In the dependencies section&comma; you’ll want to select&colon; Web&comma; and MongoDB&period;<&sol;div>&NewLine;<div style&equals;"font-family&colon; calibri&comma; sans-serif&semi; font-size&colon; 13pt&semi;"><&sol;div>&NewLine;<div class&equals;"separator" style&equals;"clear&colon; both&semi; font-family&colon; calibri&comma; sans-serif&semi; font-size&colon; 13pt&semi; text-align&colon; center&semi;"><img src&equals;"https&colon;&sol;&sol;dineshonjava&period;com&sol;wp-content&sol;uploads&sol;2016&sol;08&sol;Spring-Boot-Spring-Data-MongoDB&period;jpg" width&equals;"700" height&equals;"294" border&equals;"0" &sol;><&sol;div>&NewLine;<div style&equals;"font-family&colon; calibri&comma; sans-serif&semi; font-size&colon; 13pt&semi;"><&sol;div>&NewLine;<div style&equals;"font-family&colon; calibri&comma; sans-serif&semi; font-size&colon; 13pt&semi;"><b>Import into STS IDE<&sol;b><&sol;div>&NewLine;<div style&equals;"font-family&colon; calibri&comma; sans-serif&semi; font-size&colon; 13pt&semi;">After downloading from the web interface now unzip the project &OpenCurlyDoubleQuote;<b>SpringBootMongoDB<&sol;b>” and import in the STS IDE or Eclipse as Maven project&period; As below project structure look like&period; Now that the basic maven based Spring boot is ready&period;<&sol;div>&NewLine;<div style&equals;"font-family&colon; calibri&comma; sans-serif&semi; font-size&colon; 13pt&semi;"><&sol;div>&NewLine;<div class&equals;"separator" style&equals;"clear&colon; both&semi; font-family&colon; calibri&comma; sans-serif&semi; font-size&colon; 13pt&semi; text-align&colon; center&semi;"><img src&equals;"https&colon;&sol;&sol;dineshonjava&period;com&sol;wp-content&sol;uploads&sol;2016&sol;08&sol;Spring-Boot-Spring-Data-MongoDB-2&period;jpg" border&equals;"0" &sol;><&sol;div>&NewLine;<div style&equals;"font-family&colon; calibri&comma; sans-serif&semi; font-size&colon; 13pt&semi;">&NewLine;<p><b><br &sol;>&NewLine;Let’s discuss about the application files<&sol;b><&sol;p>&NewLine;<p>Configuration file<i> application&period;properties <&sol;i><&sol;p>&NewLine;<&sol;div>&NewLine;<pre class&equals;"highlight" style&equals;"font-family&colon; calibri&comma; sans-serif&semi; font-size&colon; 13pt&semi;">spring&period;data&period;mongodb&period;database&equals;dojdb &NewLine;spring&period;data&period;mongodb&period;host&equals;localhost &NewLine;spring&period;data&period;mongodb&period;port&equals;27017 &NewLine;<&sol;pre>&NewLine;<div style&equals;"font-family&colon; calibri&comma; sans-serif&semi; font-size&colon; 13pt&semi;">There are no need add any configuration to this file spring boot provide auto-configuration for mongodb when added starter for mongodb to application maven file&period; If you want to change mongo configuration default you can add above properties to the <b>application&period;properties<&sol;b> file&period;<&sol;div>&NewLine;<div style&equals;"font-family&colon; calibri&comma; sans-serif&semi; font-size&colon; 13pt&semi;"><&sol;div>&NewLine;<div style&equals;"font-family&colon; calibri&comma; sans-serif&semi; font-size&colon; 13pt&semi;">Here we are telling Spring Data the host and port of our Mongo instance&period; We also give it a database name&comma; and if the database doesn’t already exist it will be created for us&period;<&sol;div>&NewLine;<div style&equals;"font-family&colon; calibri&comma; sans-serif&semi; font-size&colon; 13pt&semi;"><&sol;div>&NewLine;<div style&equals;"font-family&colon; calibri&comma; sans-serif&semi; font-size&colon; 13pt&semi;"><b>Maven Configuration <i>pom&period;xml<&sol;i><&sol;b><&sol;div>&NewLine;<div style&equals;"font-family&colon; calibri&comma; sans-serif&semi; font-size&colon; 13pt&semi;">&NewLine;<p>Following dependencies to be added with maven file<&sol;p>&NewLine;<&sol;div>&NewLine;<pre class&equals;"highlight" style&equals;"font-family&colon; calibri&comma; sans-serif&semi; font-size&colon; 13pt&semi;">&lt&semi;&quest;xml version&equals;"1&period;0" encoding&equals;"UTF-8"&quest;&gt&semi; &NewLine;&lt&semi;project xmlns&equals;"http&colon;&sol;&sol;maven&period;apache&period;org&sol;POM&sol;4&period;0&period;0" xmlns&colon;xsi&equals;"http&colon;&sol;&sol;www&period;w3&period;org&sol;2001&sol;XMLSchema-instance" &NewLine; xsi&colon;schemaLocation&equals;"http&colon;&sol;&sol;maven&period;apache&period;org&sol;POM&sol;4&period;0&period;0 http&colon;&sol;&sol;maven&period;apache&period;org&sol;xsd&sol;maven-4&period;0&period;0&period;xsd"&gt&semi; &NewLine; &lt&semi;modelVersion&gt&semi;4&period;0&period;0&lt&semi;&sol;modelVersion&gt&semi; &NewLine; &NewLine; &lt&semi;groupId&gt&semi;com&period;dineshonjava&period;sbmdb&lt&semi;&sol;groupId&gt&semi; &NewLine; &lt&semi;artifactId&gt&semi;SpringBootMongoDB&lt&semi;&sol;artifactId&gt&semi; &NewLine; &lt&semi;version&gt&semi;0&period;0&period;1-SNAPSHOT&lt&semi;&sol;version&gt&semi; &NewLine; &lt&semi;packaging&gt&semi;jar&lt&semi;&sol;packaging&gt&semi; &NewLine; &NewLine; &lt&semi;name&gt&semi;SpringBootMongoDB&lt&semi;&sol;name&gt&semi; &NewLine; &lt&semi;description&gt&semi;SpringBootMongoDB project for Spring Boot with MongoDB providing APIs&lt&semi;&sol;description&gt&semi; &NewLine; &NewLine; &lt&semi;parent&gt&semi; &NewLine; &lt&semi;groupId&gt&semi;org&period;springframework&period;boot&lt&semi;&sol;groupId&gt&semi; &NewLine; &lt&semi;artifactId&gt&semi;spring-boot-starter-parent&lt&semi;&sol;artifactId&gt&semi; &NewLine; &lt&semi;version&gt&semi;1&period;4&period;0&period;RELEASE&lt&semi;&sol;version&gt&semi; &NewLine; &lt&semi;relativePath&sol;&gt&semi; &lt&semi;&excl;-- lookup parent from repository --&gt&semi; &NewLine; &lt&semi;&sol;parent&gt&semi; &NewLine; &NewLine; &lt&semi;properties&gt&semi; &NewLine; &lt&semi;project&period;build&period;sourceEncoding&gt&semi;UTF-8&lt&semi;&sol;project&period;build&period;sourceEncoding&gt&semi; &NewLine; &lt&semi;project&period;reporting&period;outputEncoding&gt&semi;UTF-8&lt&semi;&sol;project&period;reporting&period;outputEncoding&gt&semi; &NewLine; &lt&semi;java&period;version&gt&semi;1&period;8&lt&semi;&sol;java&period;version&gt&semi; &NewLine; &lt&semi;&sol;properties&gt&semi; &NewLine; &NewLine; &lt&semi;dependencies&gt&semi; &NewLine; &lt&semi;dependency&gt&semi; &NewLine; &lt&semi;groupId&gt&semi;org&period;springframework&period;boot&lt&semi;&sol;groupId&gt&semi; &NewLine; &lt&semi;artifactId&gt&semi;spring-boot-starter-data-mongodb&lt&semi;&sol;artifactId&gt&semi; &NewLine; &lt&semi;&sol;dependency&gt&semi; &NewLine; &lt&semi;dependency&gt&semi; &NewLine; &lt&semi;groupId&gt&semi;org&period;springframework&period;boot&lt&semi;&sol;groupId&gt&semi; &NewLine; &lt&semi;artifactId&gt&semi;spring-boot-starter-web&lt&semi;&sol;artifactId&gt&semi; &NewLine; &lt&semi;&sol;dependency&gt&semi; &NewLine; &NewLine; &lt&semi;dependency&gt&semi; &NewLine; &lt&semi;groupId&gt&semi;org&period;springframework&period;boot&lt&semi;&sol;groupId&gt&semi; &NewLine; &lt&semi;artifactId&gt&semi;spring-boot-starter-test&lt&semi;&sol;artifactId&gt&semi; &NewLine; &lt&semi;scope&gt&semi;test&lt&semi;&sol;scope&gt&semi; &NewLine; &lt&semi;&sol;dependency&gt&semi; &NewLine; &lt&semi;&sol;dependencies&gt&semi; &NewLine; &NewLine; &lt&semi;build&gt&semi; &NewLine; &lt&semi;plugins&gt&semi; &NewLine; &lt&semi;plugin&gt&semi; &NewLine; &lt&semi;groupId&gt&semi;org&period;springframework&period;boot&lt&semi;&sol;groupId&gt&semi; &NewLine; &lt&semi;artifactId&gt&semi;spring-boot-maven-plugin&lt&semi;&sol;artifactId&gt&semi; &NewLine; &lt&semi;&sol;plugin&gt&semi; &NewLine; &lt&semi;&sol;plugins&gt&semi; &NewLine; &lt&semi;&sol;build&gt&semi; &NewLine; &NewLine; &NewLine;&lt&semi;&sol;project&gt&semi; &NewLine; &NewLine;<&sol;pre>&NewLine;<div style&equals;"font-family&colon; calibri&comma; sans-serif&semi; font-size&colon; 13pt&semi;"><&sol;div>&NewLine;<div style&equals;"font-family&colon; calibri&comma; sans-serif&semi; font-size&colon; 13pt&semi;"><b>Let me create a model class to hold Booking details retrieved from DB&period;<&sol;b><&sol;div>&NewLine;<div style&equals;"font-family&colon; calibri&comma; sans-serif&semi; font-size&colon; 13pt&semi;">Now&comma; we need to model our documents&period; Let’s call ours &OpenCurlyQuote;<b>Booking<&sol;b>’ and give it a make&comma; model&comma; and description&period; Here is our Java class to accomplish this&colon;<&sol;div>&NewLine;<div style&equals;"font-family&colon; calibri&comma; sans-serif&semi; font-size&colon; 13pt&semi;"><&sol;div>&NewLine;<div style&equals;"font-family&colon; calibri&comma; sans-serif&semi; font-size&colon; 13pt&semi;"><b>Booking&period;java<&sol;b><&sol;div>&NewLine;<pre class&equals;"highlight" style&equals;"font-family&colon; calibri&comma; sans-serif&semi; font-size&colon; 13pt&semi;">&sol;&ast;&ast; &NewLine; &ast; &NewLine; &ast;&sol; &NewLine;package com&period;dineshonjava&period;sbmdb&period;models&semi; &NewLine; &NewLine;import java&period;util&period;Date&semi; &NewLine; &NewLine;import org&period;springframework&period;data&period;annotation&period;Id&semi; &NewLine;import org&period;springframework&period;data&period;mongodb&period;core&period;mapping&period;Document&semi; &NewLine; &NewLine;&sol;&ast;&ast; &NewLine; &ast; &commat;author Dinesh&period;Rajput &NewLine; &ast; &NewLine; &ast;&sol; &NewLine;&commat;Document &NewLine;public class Booking&lbrace; &NewLine; &NewLine; &commat;Id &NewLine; String id&semi; &NewLine; String psngrName&semi; &NewLine; String departure&semi; &NewLine; String destination&semi; &NewLine; Date travelDate&semi; &NewLine; &NewLine; public String getId&lpar;&rpar; &lbrace; &NewLine; return id&semi; &NewLine; &rcub; &NewLine; &NewLine; public void setId&lpar;String id&rpar; &lbrace; &NewLine; this&period;id &equals; id&semi; &NewLine; &rcub; &NewLine; &NewLine; public String getPsngrName&lpar;&rpar; &lbrace; &NewLine; return psngrName&semi; &NewLine; &rcub; &NewLine; &NewLine; public void setPsngrName&lpar;String psngrName&rpar; &lbrace; &NewLine; this&period;psngrName &equals; psngrName&semi; &NewLine; &rcub; &NewLine; &NewLine; public String getDeparture&lpar;&rpar; &lbrace; &NewLine; return departure&semi; &NewLine; &rcub; &NewLine; &NewLine; public void setDeparture&lpar;String departure&rpar; &lbrace; &NewLine; this&period;departure &equals; departure&semi; &NewLine; &rcub; &NewLine; &NewLine; public String getDestination&lpar;&rpar; &lbrace; &NewLine; return destination&semi; &NewLine; &rcub; &NewLine; &NewLine; public void setDestination&lpar;String destination&rpar; &lbrace; &NewLine; this&period;destination &equals; destination&semi; &NewLine; &rcub; &NewLine; &NewLine; public Date getTravelDate&lpar;&rpar; &lbrace; &NewLine; return travelDate&semi; &NewLine; &rcub; &NewLine; &NewLine; public void setTravelDate&lpar;Date travelDate&rpar; &lbrace; &NewLine; this&period;travelDate &equals; travelDate&semi; &NewLine; &rcub; &NewLine; &NewLine; &NewLine;&rcub; &NewLine; &NewLine;<&sol;pre>&NewLine;<div style&equals;"font-family&colon; calibri&comma; sans-serif&semi; font-size&colon; 13pt&semi;"><&sol;div>&NewLine;<div style&equals;"font-family&colon; calibri&comma; sans-serif&semi; font-size&colon; 13pt&semi;"><b>&commat;Id- <&sol;b>id provided by Mongo for a document&period;<&sol;div>&NewLine;<div style&equals;"font-family&colon; calibri&comma; sans-serif&semi; font-size&colon; 13pt&semi;"><b>&commat;Document-<&sol;b> provides a collection name&period;<&sol;div>&NewLine;<div style&equals;"font-family&colon; calibri&comma; sans-serif&semi; font-size&colon; 13pt&semi;"><&sol;div>&NewLine;<div style&equals;"font-family&colon; calibri&comma; sans-serif&semi; font-size&colon; 13pt&semi;"><b>Lets add Repository class to interact with the DB<br &sol;>&NewLine;<i> BookingRepository&period;java<&sol;i><&sol;b><&sol;div>&NewLine;<div style&equals;"font-family&colon; calibri&comma; sans-serif&semi; font-size&colon; 13pt&semi;">A Repository is a way to manage data objects in Spring Data&period; For most common methods – like saving a document&comma; updating it&comma; deleting it&comma; or finding it by id – Spring Data will automatically implement the necessary logic&period;<&sol;div>&NewLine;<div style&equals;"font-family&colon; calibri&comma; sans-serif&semi; font-size&colon; 13pt&semi;"><&sol;div>&NewLine;<pre class&equals;"highlight" style&equals;"font-family&colon; calibri&comma; sans-serif&semi; font-size&colon; 13pt&semi;">package com&period;dineshonjava&period;sbmdb&period;models&semi; &NewLine; &NewLine;import org&period;springframework&period;data&period;mongodb&period;repository&period;MongoRepository&semi; &NewLine;import org&period;springframework&period;transaction&period;annotation&period;Transactional&semi; &NewLine; &NewLine;&commat;Transactional &NewLine;public interface BookingRepository extends MongoRepository &lbrace; &NewLine; &NewLine; &sol;&ast;&ast; &NewLine; &ast; This method will find an Boooking instance in the database by its departure&period; &NewLine; &ast; Note that this method is not implemented and its working code will be &NewLine; &ast; automatically generated from its signature by Spring Data JPA&period; &NewLine; &ast;&sol; &NewLine; public Booking findByDeparture&lpar;String departure&rpar;&semi; &NewLine;&rcub; &NewLine; &NewLine;<&sol;pre>&NewLine;<div style&equals;"font-family&colon; calibri&comma; sans-serif&semi; font-size&colon; 13pt&semi;"><&sol;div>&NewLine;<div style&equals;"font-family&colon; calibri&comma; sans-serif&semi; font-size&colon; 13pt&semi;">The <b>MongoRepository<&sol;b> provides basic CRUD operation methods and also an API to find all documents in the collection&period;<&sol;div>&NewLine;<div style&equals;"font-family&colon; calibri&comma; sans-serif&semi; font-size&colon; 13pt&semi;"><&sol;div>&NewLine;<div style&equals;"font-family&colon; calibri&comma; sans-serif&semi; font-size&colon; 13pt&semi;"><b>Implementing RestController for Create and Get Details API<br &sol;>&NewLine;<i> BookingController&period;java<&sol;i><&sol;b><&sol;div>&NewLine;<div style&equals;"font-family&colon; calibri&comma; sans-serif&semi; font-size&colon; 13pt&semi;"><&sol;div>&NewLine;<pre class&equals;"highlight" style&equals;"font-size&colon; 13pt&semi;">&sol;&ast;&ast; &NewLine; &ast; &NewLine; &ast;&sol; &NewLine;package com&period;dineshonjava&period;sbmdb&period;controller&semi; &NewLine; &NewLine;import java&period;util&period;Date&semi; &NewLine;import java&period;util&period;HashMap&semi; &NewLine;import java&period;util&period;List&semi; &NewLine;import java&period;util&period;Map&semi; &NewLine; &NewLine;import org&period;springframework&period;beans&period;factory&period;annotation&period;Autowired&semi; &NewLine;import org&period;springframework&period;web&period;bind&period;annotation&period;RequestMapping&semi; &NewLine;import org&period;springframework&period;web&period;bind&period;annotation&period;RequestParam&semi; &NewLine;import org&period;springframework&period;web&period;bind&period;annotation&period;RestController&semi; &NewLine; &NewLine;import com&period;dineshonjava&period;sbmdb&period;models&period;Booking&semi; &NewLine;import com&period;dineshonjava&period;sbmdb&period;models&period;BookingRepository&semi; &NewLine; &NewLine;&sol;&ast;&ast; &NewLine; &ast; &commat;author Dinesh&period;Rajput &NewLine; &ast; &NewLine; &ast;&sol; &NewLine;&commat;RestController &NewLine;&commat;RequestMapping&lpar;"&sol;booking"&rpar; &NewLine;public class BookingController &lbrace; &NewLine; &NewLine; &commat;Autowired &NewLine; BookingRepository bookingRepository&semi; &NewLine; &sol;&ast;&ast; &NewLine; &ast; GET &sol;create --&gt&semi; Create a new booking and save it in the database&period; &NewLine; &ast;&sol; &NewLine; &commat;RequestMapping&lpar;"&sol;create"&rpar; &NewLine; public Map&lt&semi;String&comma; Object&gt&semi; create&lpar;Booking booking&rpar; &lbrace; &NewLine; booking&period;setTravelDate&lpar;new Date&lpar;&rpar;&rpar;&semi; &NewLine; booking &equals; bookingRepository&period;save&lpar;booking&rpar;&semi; &NewLine; Map&lt&semi;String&comma; Object&gt&semi; dataMap &equals; new HashMap&lt&semi;String&comma; Object&gt&semi;&lpar;&rpar;&semi; &NewLine; dataMap&period;put&lpar;"message"&comma; "Booking created successfully"&rpar;&semi; &NewLine; dataMap&period;put&lpar;"status"&comma; "1"&rpar;&semi; &NewLine; dataMap&period;put&lpar;"booking"&comma; booking&rpar;&semi; &NewLine; return dataMap&semi; &NewLine; &rcub; &NewLine; &NewLine; &sol;&ast;&ast; &NewLine; &ast; GET &sol;read --&gt&semi; Read a booking by booking id from the database&period; &NewLine; &ast;&sol; &NewLine; &commat;RequestMapping&lpar;"&sol;read"&rpar; &NewLine; public Map&lt&semi;String&comma; Object&gt&semi; read&lpar;&commat;RequestParam String bookingId&rpar; &lbrace; &NewLine; Booking booking &equals; bookingRepository&period;findOne&lpar;bookingId&rpar;&semi; &NewLine; Map&lt&semi;String&comma; Object&gt&semi; dataMap &equals; new HashMap&lt&semi;String&comma; Object&gt&semi;&lpar;&rpar;&semi; &NewLine; dataMap&period;put&lpar;"message"&comma; "Booking found successfully"&rpar;&semi; &NewLine; dataMap&period;put&lpar;"status"&comma; "1"&rpar;&semi; &NewLine; dataMap&period;put&lpar;"booking"&comma; booking&rpar;&semi; &NewLine; return dataMap&semi; &NewLine; &rcub; &NewLine; &NewLine; &sol;&ast;&ast; &NewLine; &ast; GET &sol;update --&gt&semi; Update a booking record and save it in the database&period; &NewLine; &ast;&sol; &NewLine; &commat;RequestMapping&lpar;"&sol;update"&rpar; &NewLine; public Map&lt&semi;String&comma; Object&gt&semi; update&lpar;&commat;RequestParam String bookingId&comma; &commat;RequestParam String psngrName&rpar; &lbrace; &NewLine; Booking booking &equals; bookingRepository&period;findOne&lpar;bookingId&rpar;&semi; &NewLine; booking&period;setPsngrName&lpar;psngrName&rpar;&semi; &NewLine; booking &equals; bookingRepository&period;save&lpar;booking&rpar;&semi; &NewLine; Map&lt&semi;String&comma; Object&gt&semi; dataMap &equals; new HashMap&lt&semi;String&comma; Object&gt&semi;&lpar;&rpar;&semi; &NewLine; dataMap&period;put&lpar;"message"&comma; "Booking updated successfully"&rpar;&semi; &NewLine; dataMap&period;put&lpar;"status"&comma; "1"&rpar;&semi; &NewLine; dataMap&period;put&lpar;"booking"&comma; booking&rpar;&semi; &NewLine; return dataMap&semi; &NewLine; &rcub; &NewLine; &NewLine; &sol;&ast;&ast; &NewLine; &ast; GET &sol;delete --&gt&semi; Delete a booking from the database&period; &NewLine; &ast;&sol; &NewLine; &commat;RequestMapping&lpar;"&sol;delete"&rpar; &NewLine; public Map&lt&semi;String&comma; Object&gt&semi; delete&lpar;&commat;RequestParam String bookingId&rpar; &lbrace; &NewLine; bookingRepository&period;delete&lpar;bookingId&rpar;&semi; &NewLine; Map&lt&semi;String&comma; Object&gt&semi; dataMap &equals; new HashMap&lt&semi;String&comma; Object&gt&semi;&lpar;&rpar;&semi; &NewLine; dataMap&period;put&lpar;"message"&comma; "Booking deleted successfully"&rpar;&semi; &NewLine; dataMap&period;put&lpar;"status"&comma; "1"&rpar;&semi; &NewLine; return dataMap&semi; &NewLine; &rcub; &NewLine; &NewLine; &sol;&ast;&ast; &NewLine; &ast; GET &sol;read --&gt&semi; Read all booking from the database&period; &NewLine; &ast;&sol; &NewLine; &commat;RequestMapping&lpar;"&sol;read-all"&rpar; &NewLine; public Map&lt&semi;String&comma; Object&gt&semi; readAll&lpar;&rpar; &lbrace; &NewLine; List&lt&semi;Booking&gt&semi; bookings &equals; bookingRepository&period;findAll&lpar;&rpar;&semi; &NewLine; Map&lt&semi;String&comma; Object&gt&semi; dataMap &equals; new HashMap&lt&semi;String&comma; Object&gt&semi;&lpar;&rpar;&semi; &NewLine; dataMap&period;put&lpar;"message"&comma; "Booking found successfully"&rpar;&semi; &NewLine; dataMap&period;put&lpar;"totalBooking"&comma; bookings&period;size&lpar;&rpar;&rpar;&semi; &NewLine; dataMap&period;put&lpar;"status"&comma; "1"&rpar;&semi; &NewLine; dataMap&period;put&lpar;"bookings"&comma; bookings&rpar;&semi; &NewLine; return dataMap&semi; &NewLine; &rcub; &NewLine;&rcub; &NewLine;<&sol;pre>&NewLine;<div style&equals;"font-size&colon; 13pt&semi;"><&sol;div>&NewLine;<div style&equals;"font-size&colon; 13pt&semi;">Lets run the application by either using Spring Boot maven plug-in i&period;e&period; by running <b><i>mvn spring-boot&colon;run<&sol;i><&sol;b> or by running the main class <b>SpringBootMongoDbApplication&period;java <&sol;b>from Eclipse or your IDE&period;<&sol;div>&NewLine;<div style&equals;"font-size&colon; 13pt&semi;"><&sol;div>&NewLine;<pre class&equals;"highlight" style&equals;"font-size&colon; 13pt&semi;">package com&period;dineshonjava&period;sbmdb&semi; &NewLine; &NewLine;import org&period;springframework&period;boot&period;SpringApplication&semi; &NewLine;import org&period;springframework&period;boot&period;autoconfigure&period;SpringBootApplication&semi; &NewLine; &NewLine;&commat;SpringBootApplication &NewLine;public class SpringBootMongoDbApplication &lbrace; &NewLine; &NewLine; public static void main&lpar;String&lbrack;&rsqb; args&rpar; &lbrace; &NewLine; SpringApplication&period;run&lpar;SpringBootMongoDbApplication&period;class&comma; args&rpar;&semi; &NewLine; &rcub; &NewLine;&rcub; &NewLine; &NewLine;<&sol;pre>&NewLine;<div style&equals;"font-size&colon; 13pt&semi;"><&sol;div>&NewLine;<div style&equals;"font-size&colon; 13pt&semi;"><b><u>Creating New Record&colon;<&sol;u><&sol;b><&sol;div>&NewLine;<div style&equals;"font-size&colon; 13pt&semi;">&sol;booking&sol;create&quest;psngrName&equals;Dinesh&amp&semi;departure&equals;Noida&amp&semi;destination&equals;Pune create a new booking with an auto-generated&period;<&sol;div>&NewLine;<div style&equals;"font-size&colon; 13pt&semi;"><b><br &sol;>&NewLine;<&sol;b> <b>For Example&colon;<&sol;b><&sol;div>&NewLine;<div style&equals;"font-size&colon; 13pt&semi;">http&colon;&sol;&sol;localhost&colon;8080&sol;booking&sol;create&quest;psngrName&equals;Vinesh&amp&semi;destination&equals;Delhi&amp&semi;departure&equals;Farrukhabad<&sol;div>&NewLine;<div style&equals;"font-size&colon; 13pt&semi;">&lbrace;<&sol;div>&NewLine;<div style&equals;"font-size&colon; 13pt&semi;">• booking&colon;<&sol;div>&NewLine;<div style&equals;"font-size&colon; 13pt&semi;">&lbrace;<&sol;div>&NewLine;<div style&equals;"font-size&colon; 13pt&semi;">o id&colon; &&num;8220&semi;57abe8d42ca52424e8e88027&&num;8221&semi;&comma;<&sol;div>&NewLine;<div style&equals;"font-size&colon; 13pt&semi;">o psngrName&colon; &&num;8220&semi;Vinesh&&num;8221&semi;&comma;<&sol;div>&NewLine;<div style&equals;"font-size&colon; 13pt&semi;">o departure&colon; &&num;8220&semi;Farrukhabad&&num;8221&semi;&comma;<&sol;div>&NewLine;<div style&equals;"font-size&colon; 13pt&semi;">o destination&colon; &&num;8220&semi;Delhi&&num;8221&semi;&comma;<&sol;div>&NewLine;<div style&equals;"font-size&colon; 13pt&semi;">o travelDate&colon; 1470884052977<&sol;div>&NewLine;<div style&equals;"font-size&colon; 13pt&semi;">&rcub;&comma;<&sol;div>&NewLine;<div style&equals;"font-size&colon; 13pt&semi;">• message&colon; &&num;8220&semi;Booking created successfully&&num;8221&semi;&comma;<&sol;div>&NewLine;<div style&equals;"font-size&colon; 13pt&semi;">• status&colon; &&num;8220&semi;1&&num;8221&semi;<&sol;div>&NewLine;<div style&equals;"font-size&colon; 13pt&semi;">&rcub;<&sol;div>&NewLine;<div style&equals;"font-size&colon; 13pt&semi;"><b><u><br &sol;>&NewLine;<&sol;u><&sol;b> <b><u>Reading a Record&colon;<&sol;u><&sol;b><&sol;div>&NewLine;<div style&equals;"font-size&colon; 13pt&semi;">&sol;booking&sol;read&quest;id&equals;&lbrack;bookingId&rsqb;&colon; Read the booking with the passed bookingId&period;<&sol;div>&NewLine;<div style&equals;"font-size&colon; 13pt&semi;"><&sol;div>&NewLine;<div style&equals;"font-size&colon; 13pt&semi;"><b>For Example&colon;<&sol;b><&sol;div>&NewLine;<div style&equals;"font-size&colon; 13pt&semi;">http&colon;&sol;&sol;localhost&colon;8080&sol;booking&sol;read&quest;bookingId&equals;57abe8932ca52424e8e88024<&sol;div>&NewLine;<div style&equals;"font-size&colon; 13pt&semi;">&lbrace;<&sol;div>&NewLine;<div style&equals;"font-size&colon; 13pt&semi;">• booking&colon;<&sol;div>&NewLine;<div style&equals;"font-size&colon; 13pt&semi;">&lbrace;<&sol;div>&NewLine;<div style&equals;"font-size&colon; 13pt&semi;">o id&colon; &&num;8220&semi;57abe8932ca52424e8e88024&&num;8221&semi;&comma;<&sol;div>&NewLine;<div style&equals;"font-size&colon; 13pt&semi;">o psngrName&colon; &&num;8220&semi;Arnav&&num;8221&semi;&comma;<&sol;div>&NewLine;<div style&equals;"font-size&colon; 13pt&semi;">o departure&colon; &&num;8220&semi;Pune&&num;8221&semi;&comma;<&sol;div>&NewLine;<div style&equals;"font-size&colon; 13pt&semi;">o destination&colon; &&num;8220&semi;USA&&num;8221&semi;&comma;<&sol;div>&NewLine;<div style&equals;"font-size&colon; 13pt&semi;">o travelDate&colon; 1470883987113<&sol;div>&NewLine;<div style&equals;"font-size&colon; 13pt&semi;">&rcub;&comma;<&sol;div>&NewLine;<div style&equals;"font-size&colon; 13pt&semi;">• message&colon; &&num;8220&semi;Booking found successfully&&num;8221&semi;&comma;<&sol;div>&NewLine;<div style&equals;"font-size&colon; 13pt&semi;">• status&colon; &&num;8220&semi;1&&num;8221&semi;<&sol;div>&NewLine;<div style&equals;"font-size&colon; 13pt&semi;">&rcub;<&sol;div>&NewLine;<div style&equals;"font-size&colon; 13pt&semi;"><b><u><br &sol;>&NewLine;<&sol;u><&sol;b> <b><u>Updating a Record&colon;<&sol;u><&sol;b><&sol;div>&NewLine;<div style&equals;"font-size&colon; 13pt&semi;">&sol;booking&sol;update&quest;bookingId&equals;&lbrack;bookingId&rsqb;&amp&semi;psngrName&equals;Sweety&colon; Update the booking for a given booking id&period;<&sol;div>&NewLine;<div style&equals;"font-size&colon; 13pt&semi;"><&sol;div>&NewLine;<div style&equals;"font-size&colon; 13pt&semi;"><b>For Example&colon;<&sol;b><&sol;div>&NewLine;<div style&equals;"font-size&colon; 13pt&semi;">http&colon;&sol;&sol;localhost&colon;8080&sol;booking&sol;update&quest;bookingId&equals;57abe8a72ca52424e8e88025&amp&semi;psngrName&equals;Anamika<&sol;div>&NewLine;<div style&equals;"font-size&colon; 13pt&semi;">&lbrace;<&sol;div>&NewLine;<div style&equals;"font-size&colon; 13pt&semi;">• booking&colon;<&sol;div>&NewLine;<div style&equals;"font-size&colon; 13pt&semi;">&lbrace;<&sol;div>&NewLine;<div style&equals;"font-size&colon; 13pt&semi;">o id&colon; &&num;8220&semi;57abe8a72ca52424e8e88025&&num;8221&semi;&comma;<&sol;div>&NewLine;<div style&equals;"font-size&colon; 13pt&semi;">o psngrName&colon; &&num;8220&semi;Anamika&&num;8221&semi;&comma;<&sol;div>&NewLine;<div style&equals;"font-size&colon; 13pt&semi;">o departure&colon; &&num;8220&semi;Noida&&num;8221&semi;&comma;<&sol;div>&NewLine;<div style&equals;"font-size&colon; 13pt&semi;">o destination&colon; &&num;8220&semi;USA&&num;8221&semi;&comma;<&sol;div>&NewLine;<div style&equals;"font-size&colon; 13pt&semi;">o travelDate&colon; 1470884007369<&sol;div>&NewLine;<div style&equals;"font-size&colon; 13pt&semi;">&rcub;&comma;<&sol;div>&NewLine;<div style&equals;"font-size&colon; 13pt&semi;">• message&colon; &&num;8220&semi;Booking updated successfully&&num;8221&semi;&comma;<&sol;div>&NewLine;<div style&equals;"font-size&colon; 13pt&semi;">• status&colon; &&num;8220&semi;1&&num;8221&semi;<&sol;div>&NewLine;<div style&equals;"font-size&colon; 13pt&semi;">&rcub;<&sol;div>&NewLine;<div style&equals;"font-size&colon; 13pt&semi;"><b><u><br &sol;>&NewLine;<&sol;u><&sol;b> <b><u>Read All Records<&sol;u><&sol;b><&sol;div>&NewLine;<div style&equals;"font-size&colon; 13pt&semi;">http&colon;&sol;&sol;localhost&colon;8080&sol;booking&sol;read-all<&sol;div>&NewLine;<div style&equals;"font-size&colon; 13pt&semi;">&lbrace;<&sol;div>&NewLine;<div style&equals;"font-size&colon; 13pt&semi;">• totalBooking&colon; 5&comma;<&sol;div>&NewLine;<div style&equals;"font-size&colon; 13pt&semi;">• message&colon; &&num;8220&semi;Booking found successfully&&num;8221&semi;&comma;<&sol;div>&NewLine;<div style&equals;"font-size&colon; 13pt&semi;">• bookings&colon;<&sol;div>&NewLine;<div style&equals;"font-size&colon; 13pt&semi;">&lbrack;<&sol;div>&NewLine;<div style&equals;"font-size&colon; 13pt&semi;">o &lbrace;<&sol;div>&NewLine;<div style&equals;"font-size&colon; 13pt&semi;"> id&colon; &&num;8220&semi;57abe8322ca52424e8e88023&&num;8221&semi;&comma;<&sol;div>&NewLine;<div style&equals;"font-size&colon; 13pt&semi;"> psngrName&colon; &&num;8220&semi;Dinesh&&num;8221&semi;&comma;<&sol;div>&NewLine;<div style&equals;"font-size&colon; 13pt&semi;"> departure&colon; &&num;8220&semi;Noida&&num;8221&semi;&comma;<&sol;div>&NewLine;<div style&equals;"font-size&colon; 13pt&semi;"> destination&colon; &&num;8220&semi;Pune&&num;8221&semi;&comma;<&sol;div>&NewLine;<div style&equals;"font-size&colon; 13pt&semi;"> travelDate&colon; 1470883890814<&sol;div>&NewLine;<div style&equals;"font-size&colon; 13pt&semi;">&rcub;&comma;<&sol;div>&NewLine;<div style&equals;"font-size&colon; 13pt&semi;">o &lbrace;<&sol;div>&NewLine;<div style&equals;"font-size&colon; 13pt&semi;"> id&colon; &&num;8220&semi;57abe8932ca52424e8e88024&&num;8221&semi;&comma;<&sol;div>&NewLine;<div style&equals;"font-size&colon; 13pt&semi;"> psngrName&colon; &&num;8220&semi;Arnav&&num;8221&semi;&comma;<&sol;div>&NewLine;<div style&equals;"font-size&colon; 13pt&semi;"> departure&colon; &&num;8220&semi;Pune&&num;8221&semi;&comma;<&sol;div>&NewLine;<div style&equals;"font-size&colon; 13pt&semi;"> destination&colon; &&num;8220&semi;USA&&num;8221&semi;&comma;<&sol;div>&NewLine;<div style&equals;"font-size&colon; 13pt&semi;"> travelDate&colon; 1470883987113<&sol;div>&NewLine;<div style&equals;"font-size&colon; 13pt&semi;">&rcub;&comma;<&sol;div>&NewLine;<div style&equals;"font-size&colon; 13pt&semi;">o &lbrace;<&sol;div>&NewLine;<div style&equals;"font-size&colon; 13pt&semi;"> id&colon; &&num;8220&semi;57abe8a72ca52424e8e88025&&num;8221&semi;&comma;<&sol;div>&NewLine;<div style&equals;"font-size&colon; 13pt&semi;"> psngrName&colon; &&num;8220&semi;Sweety&&num;8221&semi;&comma;<&sol;div>&NewLine;<div style&equals;"font-size&colon; 13pt&semi;"> departure&colon; &&num;8220&semi;Noida&&num;8221&semi;&comma;<&sol;div>&NewLine;<div style&equals;"font-size&colon; 13pt&semi;"> destination&colon; &&num;8220&semi;USA&&num;8221&semi;&comma;<&sol;div>&NewLine;<div style&equals;"font-size&colon; 13pt&semi;"> travelDate&colon; 1470884007369<&sol;div>&NewLine;<div style&equals;"font-size&colon; 13pt&semi;">&rcub;&comma;<&sol;div>&NewLine;<div style&equals;"font-size&colon; 13pt&semi;">o &lbrace;<&sol;div>&NewLine;<div style&equals;"font-size&colon; 13pt&semi;"> id&colon; &&num;8220&semi;57abe8bf2ca52424e8e88026&&num;8221&semi;&comma;<&sol;div>&NewLine;<div style&equals;"font-size&colon; 13pt&semi;"> psngrName&colon; &&num;8220&semi;Adesh&&num;8221&semi;&comma;<&sol;div>&NewLine;<div style&equals;"font-size&colon; 13pt&semi;"> departure&colon; &&num;8220&semi;Kannauj&&num;8221&semi;&comma;<&sol;div>&NewLine;<div style&equals;"font-size&colon; 13pt&semi;"> destination&colon; &&num;8220&semi;Noida&&num;8221&semi;&comma;<&sol;div>&NewLine;<div style&equals;"font-size&colon; 13pt&semi;"> travelDate&colon; 1470884031444<&sol;div>&NewLine;<div style&equals;"font-size&colon; 13pt&semi;">&rcub;&comma;<&sol;div>&NewLine;<div style&equals;"font-size&colon; 13pt&semi;">o &lbrace;<&sol;div>&NewLine;<div style&equals;"font-size&colon; 13pt&semi;"> id&colon; &&num;8220&semi;57abe8d42ca52424e8e88027&&num;8221&semi;&comma;<&sol;div>&NewLine;<div style&equals;"font-size&colon; 13pt&semi;"> psngrName&colon; &&num;8220&semi;Vinesh&&num;8221&semi;&comma;<&sol;div>&NewLine;<div style&equals;"font-size&colon; 13pt&semi;"> departure&colon; &&num;8220&semi;Farrukhabad&&num;8221&semi;&comma;<&sol;div>&NewLine;<div style&equals;"font-size&colon; 13pt&semi;"> destination&colon; &&num;8220&semi;Delhi&&num;8221&semi;&comma;<&sol;div>&NewLine;<div style&equals;"font-size&colon; 13pt&semi;"> travelDate&colon; 1470884052977<&sol;div>&NewLine;<div style&equals;"font-size&colon; 13pt&semi;">&rcub;<&sol;div>&NewLine;<div style&equals;"font-size&colon; 13pt&semi;">&rsqb;&comma;<&sol;div>&NewLine;<div style&equals;"font-size&colon; 13pt&semi;">• status&colon; &&num;8220&semi;1&&num;8221&semi;<&sol;div>&NewLine;<div style&equals;"font-size&colon; 13pt&semi;">&rcub;<&sol;div>&NewLine;<div style&equals;"font-size&colon; 13pt&semi;"><b><u><br &sol;>&NewLine;<&sol;u><&sol;b> <b><u>Deleting a Record&colon;<&sol;u><&sol;b><&sol;div>&NewLine;<div style&equals;"font-size&colon; 13pt&semi;">&sol;booking&sol;delete&quest; bookingId&equals;&lbrack;bookingId&rsqb;&colon; Delete a booking for given booking id&period;<&sol;div>&NewLine;<div style&equals;"font-size&colon; 13pt&semi;"><b><br &sol;>&NewLine;<&sol;b> <b>For Example&colon;<&sol;b><&sol;div>&NewLine;<div style&equals;"font-size&colon; 13pt&semi;">http&colon;&sol;&sol;localhost&colon;8080&sol;booking&sol;delete&quest;bookingId&equals;57ac0d681ff9b3117caf7c85<&sol;div>&NewLine;<div style&equals;"font-size&colon; 13pt&semi;">&lbrace;<&sol;div>&NewLine;<div style&equals;"font-size&colon; 13pt&semi;">• message&colon; &&num;8220&semi;Booking deleted successfully&&num;8221&semi;&comma;<&sol;div>&NewLine;<div style&equals;"font-size&colon; 13pt&semi;">• status&colon; &&num;8220&semi;1&&num;8221&semi;<&sol;div>&NewLine;<div style&equals;"font-size&colon; 13pt&semi;">&rcub;<&sol;div>&NewLine;<div style&equals;"font-size&colon; 13pt&semi;"><&sol;div>&NewLine;<div style&equals;"font-size&colon; 13pt&semi;"><b>Summary<&sol;b><&sol;div>&NewLine;<div style&equals;"font-size&colon; 13pt&semi;">In this chapter I have explained how to use Spring Data MongoDB and Spring Boot frameworks&period; Great you set up a MongoDB server and wrote a simple application that uses Spring Data MongoDB to save objects to and fetch them from a database&ThinSpace;—&ThinSpace;all without writing a concrete repository implementation&period;<&sol;div>&NewLine;<div style&equals;"font-size&colon; 13pt&semi;"><&sol;div>&NewLine;<div style&equals;"font-size&colon; 13pt&semi;"><&sol;div>&NewLine;<p><b>Whole Source code here<&sol;b><&sol;p>&NewLine;<div style&equals;"font-size&colon; 13pt&semi;"><&sol;div>&NewLine;<div style&equals;"font-size&colon; 13pt&semi;"><a href&equals;"https&colon;&sol;&sol;github&period;com&sol;DOJ-SoftwareConsultant&sol;SpringBootMongoDB" target&equals;"&lowbar;blank" rel&equals;"noopener"><b>https&colon;&sol;&sol;github&period;com&sol;DOJ-SoftwareConsultant&sol;SpringBootMongoDB<&sol;b><&sol;a><&sol;div>&NewLine;<div style&equals;"font-size&colon; 13pt&semi;"><&sol;div>&NewLine;<div style&equals;"font-size&colon; 13pt&semi;"><&sol;div>&NewLine;<div style&equals;"font-size&colon; 13pt&semi;"><&sol;div>&NewLine;<div style&equals;"font-size&colon; 13pt&semi;">Happy Spring Boot Learning&excl;&excl;&excl;<&sol;div>&NewLine;<p>&nbsp&semi;<&sol;p>&NewLine;<div style&equals;"background-color&colon; &num;f2f9fc&semi; border-radius&colon; 3px&semi; border&colon; 1px solid &num;c9e6f2&semi; line-height&colon; 1&period;45&semi; padding&colon; 16px&semi;">&NewLine;<p><b>Spring Boot Related Topics<&sol;b><&sol;p>&NewLine;<ol style&equals;"text-align&colon; left&semi;">&NewLine;<li><b><a href&equals;"https&colon;&sol;&sol;dineshonjava&period;com&sol;2017&sol;04&sol;spring-boot-interview-questions-and-answers&period;html">Spring Boot Interview Questions and Answers<&sol;a><&sol;b><&sol;li>&NewLine;<li><b><a href&equals;"https&colon;&sol;&sol;dineshonjava&period;com&sol;2016&sol;06&sol;introduction-to-spring-boot-a-spring-boot-complete-guide&period;html">Introduction to Spring Boot<&sol;a><&sol;b><&sol;li>&NewLine;<li><a href&equals;"https&colon;&sol;&sol;dineshonjava&period;com&sol;2016&sol;06&sol;essentials-key-components-and-internals-of-spring-boot-framework&period;html"><b>Essentials and Key Components of Spring Boot<&sol;b><&sol;a><&sol;li>&NewLine;<li><a href&equals;"https&colon;&sol;&sol;dineshonjava&period;com&sol;2016&sol;06&sol;spring-boot-cli-installation-and-hello-world-example&period;html"><b>Spring Boot CLI Installation and Hello World Example<&sol;b><&sol;a><&sol;li>&NewLine;<li><a href&equals;"https&colon;&sol;&sol;dineshonjava&period;com&sol;2016&sol;06&sol;spring-boot-initilizr-web-interface-and-examples&period;html"><b>Spring Boot Initializr Web Interface<&sol;b><&sol;a><&sol;li>&NewLine;<li><a href&equals;"https&colon;&sol;&sol;dineshonjava&period;com&sol;2016&sol;06&sol;spring-boot-initilizr-with-ides-via-spring-tool-suite&period;html"><b>Spring Boot Initializr With IDEs<&sol;b><&sol;a><&sol;li>&NewLine;<li><a href&equals;"https&colon;&sol;&sol;dineshonjava&period;com&sol;2016&sol;07&sol;spring-boot-initializr-with-spring-boot-cli&period;html"><b>Spring Boot Initializr With Spring Boot CLI<&sol;b><&sol;a><&sol;li>&NewLine;<li><a href&equals;"https&colon;&sol;&sol;dineshonjava&period;com&sol;2016&sol;07&sol;installing-spring-boot&period;html"><b>Installing Spring Boot<&sol;b><&sol;a><&sol;li>&NewLine;<li><a href&equals;"https&colon;&sol;&sol;dineshonjava&period;com&sol;2016&sol;07&sol;developing-your-first-spring-boot-application-hello-world&period;html"><b>Developing your first Spring Boot application<&sol;b><&sol;a><&sol;li>&NewLine;<li><a href&equals;"https&colon;&sol;&sol;dineshonjava&period;com&sol;2016&sol;07&sol;customizing-spring-boot-auto-configuration&period;html"><b>External Configurations for Spring Boot Applications<&sol;b><&sol;a><&sol;li>&NewLine;<li><a href&equals;"https&colon;&sol;&sol;dineshonjava&period;com&sol;2016&sol;07&sol;logging-configuration-in-spring-boot&period;html"><b>Logging Configuration in Spring Boot<&sol;b><&sol;a><&sol;li>&NewLine;<li><a href&equals;"https&colon;&sol;&sol;dineshonjava&period;com&sol;2016&sol;07&sol;spring-boot-with-spring-mvc-application&period;html"><b>Spring Boot and Spring MVC<&sol;b><&sol;a><&sol;li>&NewLine;<li><a href&equals;"https&colon;&sol;&sol;dineshonjava&period;com&sol;2016&sol;08&sol;working-with-sql-databases-in-spring-boot-application&period;html"><b>Working with SQL Databases and Spring Boot<&sol;b><&sol;a><&sol;li>&NewLine;<li><a href&equals;"https&colon;&sol;&sol;dineshonjava&period;com&sol;2016&sol;08&sol;mysql-configuration-with-spring-boot&period;html"><b>MySQL Configurations<&sol;b><&sol;a><&sol;li>&NewLine;<li><a href&equals;"https&colon;&sol;&sol;dineshonjava&period;com&sol;2016&sol;08&sol;spring-data-jpa-using-in-spring-boot-application&period;html"><b>Spring Data JPA using Spring Boot Application<&sol;b><&sol;a><&sol;li>&NewLine;<li><a href&equals;"https&colon;&sol;&sol;dineshonjava&period;com&sol;2016&sol;08&sol;spring-boot-with-nosql-technologies&period;html"><b>Spring Boot with NoSQL technologies<&sol;b><&sol;a><&sol;li>&NewLine;<li><a href&equals;"https&colon;&sol;&sol;dineshonjava&period;com&sol;2016&sol;08&sol;spring-cache-tutorial&period;html"><b>Spring Cache Tutorial<&sol;b><&sol;a><&sol;li>&NewLine;<li><a href&equals;"https&colon;&sol;&sol;dineshonjava&period;com&sol;2016&sol;08&sol;spring-security-tutorial-using-spring-boot&period;html"><b>Spring Security Tutorial with Spring Boot<&sol;b><&sol;a><&sol;li>&NewLine;<li><b><a href&equals;"https&colon;&sol;&sol;dineshonjava&period;com&sol;2016&sol;08&sol;spring-boot-actuator-complete-guide&period;html">Complete Guide for Spring Boot Actuator<&sol;a><&sol;b><&sol;li>&NewLine;<li><b><a href&equals;"https&colon;&sol;&sol;dineshonjava&period;com&sol;2017&sol;01&sol;microservices-with-spring-boot&period;html">Microservices with Spring Boot<&sol;a><&sol;b><&sol;li>&NewLine;<&sol;ol>&NewLine;<&sol;div>&NewLine;<p>&nbsp&semi;<&sol;p>&NewLine;<&sol;div>&NewLine;<&sol;div>&NewLine;<&sol;div>&NewLine;<div class&equals;"wp-post-navigation"> &NewLine;&Tab;&Tab;&Tab;&Tab;&Tab;&Tab;&Tab;&Tab;&Tab; <div class&equals;"wp-post-navigation-pre"> &NewLine;&Tab;&Tab;&Tab;&Tab;&Tab;&Tab;&Tab;&Tab;&Tab; <a href&equals;"https&colon;&sol;&sol;dineshonjava&period;com&sol;spring-data-jpa-using-in-spring-boot-application&sol;">Previous<&sol;a> &NewLine;&Tab;&Tab;&Tab;&Tab;&Tab;&Tab;&Tab;&Tab;&Tab; <&sol;div> &NewLine;&Tab;&Tab;&Tab;&Tab;&Tab;&Tab;&Tab;&Tab;&Tab; <div class&equals;"wp-post-navigation-next"> &NewLine;&Tab;&Tab;&Tab;&Tab;&Tab;&Tab;&Tab;&Tab;&Tab; <a href&equals;"https&colon;&sol;&sol;dineshonjava&period;com&sol;whats-new-in-spring-framework-5x&sol;">Next<&sol;a> &NewLine;&Tab;&Tab;&Tab;&Tab;&Tab;&Tab;&Tab;&Tab;&Tab; <&sol;div> &NewLine;&Tab;&Tab;&Tab;&Tab;&Tab;&Tab;&Tab;&Tab;&Tab;<&sol;div>&NewLine;<script type&equals;"text&sol;javascript">&NewLine;jQuery&lpar;document&rpar;&period;ready&lpar;function&lpar;&dollar;&rpar; &lbrace;&NewLine; &dollar;&period;post&lpar;'https&colon;&sol;&sol;dineshonjava&period;com&sol;wp-admin&sol;admin-ajax&period;php'&comma; &lbrace;action&colon; 'mts&lowbar;view&lowbar;count'&comma; id&colon; '131'&rcub;&rpar;&semi;&NewLine;&rcub;&rpar;&semi;&NewLine;<&sol;script>

Dinesh Rajput

Dinesh Rajput is the chief editor of a website Dineshonjava, a technical blog dedicated to the Spring and Java technologies. It has a series of articles related to Java technologies. Dinesh has been a Spring enthusiast since 2008 and is a Pivotal Certified Spring Professional, an author of a book Spring 5 Design Pattern, and a blogger. He has more than 10 years of experience with different aspects of Spring and Java design and development. His core expertise lies in the latest version of Spring Framework, Spring Boot, Spring Security, creating REST APIs, Microservice Architecture, Reactive Pattern, Spring AOP, Design Patterns, Struts, Hibernate, Web Services, Spring Batch, Cassandra, MongoDB, and Web Application Design and Architecture. He is currently working as a technology manager at a leading product and web development company. He worked as a developer and tech lead at the Bennett, Coleman & Co. Ltd and was the first developer in his previous company, Paytm. Dinesh is passionate about the latest Java technologies and loves to write technical blogs related to it. He is a very active member of the Java and Spring community on different forums. When it comes to the Spring Framework and Java, Dinesh tops the list!

Share
Published by
Dinesh Rajput

Recent Posts

Strategy Design Patterns using Lambda

Strategy Design Patterns We can easily create a strategy design pattern using lambda. To implement…

4 years ago

Decorator Pattern using Lambda

Decorator Pattern A decorator pattern allows a user to add new functionality to an existing…

4 years ago

Delegating pattern using lambda

Delegating pattern In software engineering, the delegation pattern is an object-oriented design pattern that allows…

4 years ago

Spring Vs Django- Know The Difference Between The Two

Technology has emerged a lot in the last decade, and now we have artificial intelligence;…

4 years ago

TOP 20 MongoDB INTERVIEW QUESTIONS 2022

Managing a database is becoming increasingly complex now due to the vast amount of data…

4 years ago

Scheduler @Scheduled Annotation Spring Boot

Overview In this article, we will explore Spring Scheduler how we could use it by…

4 years ago