diff --git a/persistence-modules/spring-boot-persistence-mongodb/.gitignore b/persistence-modules/spring-boot-persistence-mongodb/.gitignore
new file mode 100644
index 0000000000..f96dae6a60
--- /dev/null
+++ b/persistence-modules/spring-boot-persistence-mongodb/.gitignore
@@ -0,0 +1,4 @@
+
+/.idea/
+/target/
+/spring-boot-persistence.iml
diff --git a/persistence-modules/spring-boot-persistence-mongodb/pom.xml b/persistence-modules/spring-boot-persistence-mongodb/pom.xml
new file mode 100644
index 0000000000..fc267eedf6
--- /dev/null
+++ b/persistence-modules/spring-boot-persistence-mongodb/pom.xml
@@ -0,0 +1,106 @@
+
+
+ 4.0.0
+
+
+ parent-boot-2
+ com.baeldung
+ 0.0.1-SNAPSHOT
+ ../../parent-boot-2
+
+
+ spring-boot-persistence-mongodb
+ war
+ spring-boot-persistence-mongodb
+ This is simple boot application for Spring boot persistence mongodb test
+
+
+
+ org.springframework.boot
+ spring-boot-starter-web
+
+
+
+ org.springframework.boot
+ spring-boot-starter-data-mongodb
+
+
+
+ org.junit.jupiter
+ junit-jupiter-api
+ test
+
+
+ org.junit.jupiter
+ junit-jupiter-engine
+ test
+
+
+
+
+ org.junit.platform
+ junit-platform-launcher
+ ${junit-platform.version}
+ test
+
+
+ org.springframework.boot
+ spring-boot-starter-test
+ test
+
+
+
+
+ spring-boot-persistence
+
+
+ src/main/resources
+ true
+
+
+
+
+ org.apache.maven.plugins
+ maven-war-plugin
+
+
+
+
+
+
+ autoconfiguration
+
+
+
+ org.apache.maven.plugins
+ maven-surefire-plugin
+
+
+ integration-test
+
+ test
+
+
+
+ **/*LiveTest.java
+ **/*IntegrationTest.java
+ **/*IntTest.java
+
+
+
+
+
+
+ json
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/persistence-modules/spring-boot-persistence-mongodb/src/main/java/com/baeldung/SpringBootPersistenceApplication.java b/persistence-modules/spring-boot-persistence-mongodb/src/main/java/com/baeldung/SpringBootPersistenceApplication.java
new file mode 100644
index 0000000000..2dff3f37df
--- /dev/null
+++ b/persistence-modules/spring-boot-persistence-mongodb/src/main/java/com/baeldung/SpringBootPersistenceApplication.java
@@ -0,0 +1,13 @@
+package com.baeldung;
+
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+
+@SpringBootApplication
+public class SpringBootPersistenceApplication {
+
+ public static void main(String ... args) {
+ SpringApplication.run(SpringBootPersistenceApplication.class, args);
+ }
+
+}
diff --git a/spring-boot/src/main/java/com/baeldung/mongodb/daos/UserRepository.java b/persistence-modules/spring-boot-persistence-mongodb/src/main/java/com/baeldung/mongodb/daos/UserRepository.java
similarity index 100%
rename from spring-boot/src/main/java/com/baeldung/mongodb/daos/UserRepository.java
rename to persistence-modules/spring-boot-persistence-mongodb/src/main/java/com/baeldung/mongodb/daos/UserRepository.java
diff --git a/spring-boot/src/main/java/com/baeldung/mongodb/events/UserModelListener.java b/persistence-modules/spring-boot-persistence-mongodb/src/main/java/com/baeldung/mongodb/events/UserModelListener.java
similarity index 100%
rename from spring-boot/src/main/java/com/baeldung/mongodb/events/UserModelListener.java
rename to persistence-modules/spring-boot-persistence-mongodb/src/main/java/com/baeldung/mongodb/events/UserModelListener.java
diff --git a/spring-boot/src/main/java/com/baeldung/mongodb/models/DatabaseSequence.java b/persistence-modules/spring-boot-persistence-mongodb/src/main/java/com/baeldung/mongodb/models/DatabaseSequence.java
similarity index 100%
rename from spring-boot/src/main/java/com/baeldung/mongodb/models/DatabaseSequence.java
rename to persistence-modules/spring-boot-persistence-mongodb/src/main/java/com/baeldung/mongodb/models/DatabaseSequence.java
diff --git a/spring-boot/src/main/java/com/baeldung/mongodb/models/User.java b/persistence-modules/spring-boot-persistence-mongodb/src/main/java/com/baeldung/mongodb/models/User.java
similarity index 100%
rename from spring-boot/src/main/java/com/baeldung/mongodb/models/User.java
rename to persistence-modules/spring-boot-persistence-mongodb/src/main/java/com/baeldung/mongodb/models/User.java
diff --git a/spring-boot/src/main/java/com/baeldung/mongodb/services/SequenceGeneratorService.java b/persistence-modules/spring-boot-persistence-mongodb/src/main/java/com/baeldung/mongodb/services/SequenceGeneratorService.java
similarity index 100%
rename from spring-boot/src/main/java/com/baeldung/mongodb/services/SequenceGeneratorService.java
rename to persistence-modules/spring-boot-persistence-mongodb/src/main/java/com/baeldung/mongodb/services/SequenceGeneratorService.java
diff --git a/persistence-modules/spring-boot-persistence-mongodb/src/main/resources/application.properties b/persistence-modules/spring-boot-persistence-mongodb/src/main/resources/application.properties
new file mode 100644
index 0000000000..5b1b8000d0
--- /dev/null
+++ b/persistence-modules/spring-boot-persistence-mongodb/src/main/resources/application.properties
@@ -0,0 +1,8 @@
+spring.application.name=spring-boot-persistence
+server.port=${PORT:0}
+
+#spring boot mongodb
+spring.data.mongodb.host=localhost
+spring.data.mongodb.port=27017
+spring.data.mongodb.database=springboot-mongo
+
diff --git a/spring-boot/src/test/java/com/baeldung/mongodb/MongoDbAutoGeneratedFieldIntegrationTest.java b/persistence-modules/spring-boot-persistence-mongodb/src/test/java/com/baeldung/mongodb/MongoDbAutoGeneratedFieldIntegrationTest.java
similarity index 88%
rename from spring-boot/src/test/java/com/baeldung/mongodb/MongoDbAutoGeneratedFieldIntegrationTest.java
rename to persistence-modules/spring-boot-persistence-mongodb/src/test/java/com/baeldung/mongodb/MongoDbAutoGeneratedFieldIntegrationTest.java
index 3430bca69a..cec1ad5fea 100644
--- a/spring-boot/src/test/java/com/baeldung/mongodb/MongoDbAutoGeneratedFieldIntegrationTest.java
+++ b/persistence-modules/spring-boot-persistence-mongodb/src/test/java/com/baeldung/mongodb/MongoDbAutoGeneratedFieldIntegrationTest.java
@@ -5,17 +5,18 @@ import com.baeldung.mongodb.models.User;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;
-import static org.assertj.core.api.Assertions.assertThat;
-import java.util.List;
+import static org.assertj.core.api.Assertions.assertThat;
@RunWith(SpringRunner.class)
+@SpringBootTest
public class MongoDbAutoGeneratedFieldIntegrationTest {
@Autowired
- private UserRepository userRepository;
+ UserRepository userRepository;
@Test
public void contextLoads() {}
diff --git a/pom.xml b/pom.xml
index b5c61dff9d..dabb4a9628 100644
--- a/pom.xml
+++ b/pom.xml
@@ -479,6 +479,7 @@
persistence-modules/spring-data-cassandra
persistence-modules/spring-data-couchbase-2
persistence-modules/spring-data-redis
+ persistence-modules/spring-boot-persistence-mongodb
reactor-core
resteasy
diff --git a/spring-boot/src/main/java/com/baeldung/mongodb/Application.java b/spring-boot/src/main/java/com/baeldung/mongodb/Application.java
deleted file mode 100644
index c0a9ad59a7..0000000000
--- a/spring-boot/src/main/java/com/baeldung/mongodb/Application.java
+++ /dev/null
@@ -1,19 +0,0 @@
-package com.baeldung.mongodb;
-
-import com.baeldung.mongodb.daos.UserRepository;
-import com.baeldung.mongodb.models.User;
-import org.springframework.boot.CommandLineRunner;
-import org.springframework.boot.SpringApplication;
-import org.springframework.boot.autoconfigure.SpringBootApplication;
-import org.springframework.context.annotation.Bean;
-
-import java.util.List;
-
-@SpringBootApplication
-public class Application {
-
- public static void main(String[] args) {
- SpringApplication.run(Application.class, args);
- }
-
-}
diff --git a/spring-boot/src/test/java/com/baeldung/mongodb/MongoDbSpringIntegrationTest.java b/spring-boot/src/test/java/com/baeldung/mongodb/MongoDbSpringIntegrationTest.java
index 5431217c3e..39127f62e9 100644
--- a/spring-boot/src/test/java/com/baeldung/mongodb/MongoDbSpringIntegrationTest.java
+++ b/spring-boot/src/test/java/com/baeldung/mongodb/MongoDbSpringIntegrationTest.java
@@ -2,6 +2,7 @@ package com.baeldung.mongodb;
import static org.assertj.core.api.Assertions.assertThat;
+import org.baeldung.boot.Application;
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;