diff --git a/spring-boot/pom.xml b/spring-boot/pom.xml
index 5f77be43e3..b00af7fc94 100644
--- a/spring-boot/pom.xml
+++ b/spring-boot/pom.xml
@@ -119,6 +119,12 @@
${tomee-servlet-api.version}
provided
+
+
+ mysql
+ mysql-connector-java
+ 6.0.6
+
@@ -165,6 +171,7 @@
**/*IntegrationTest.java
**/*LiveTest.java
+ **/AutoconfigurationTest.java
@@ -190,6 +197,7 @@
**/*LiveTest.java
+ **/AutoconfigurationTest.java
**/*IntegrationTest.java
@@ -206,6 +214,39 @@
+
+ autoconfiguration
+
+
+
+ org.apache.maven.plugins
+ maven-surefire-plugin
+
+
+ integration-test
+
+ test
+
+
+
+ **/*LiveTest.java
+ **/*IntegrationTest.java
+
+
+ **/AutoconfigurationTest.java
+
+
+
+
+
+
+ json
+
+
+
+
+
+
diff --git a/spring-boot/src/main/java/com/baeldung/annotation/servletcomponentscan/SpringBootAnnotatedApp.java b/spring-boot/src/main/java/com/baeldung/annotation/servletcomponentscan/SpringBootAnnotatedApp.java
index b4d416dd96..d54fa5a7c1 100644
--- a/spring-boot/src/main/java/com/baeldung/annotation/servletcomponentscan/SpringBootAnnotatedApp.java
+++ b/spring-boot/src/main/java/com/baeldung/annotation/servletcomponentscan/SpringBootAnnotatedApp.java
@@ -4,6 +4,8 @@ import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.web.servlet.ServletComponentScan;
+import com.baeldung.autoconfiguration.MySQLAutoconfiguration;
+
/**
* using the following annotations are equivalent:
* -
@@ -14,7 +16,7 @@ import org.springframework.boot.web.servlet.ServletComponentScan;
*
@ServletComponentScan(basePackageClasses = {AttrListener.class, HelloFilter.class, HelloServlet.class, EchoServlet.class})
*
*/
-@SpringBootApplication
+@SpringBootApplication(exclude=MySQLAutoconfiguration.class)
@ServletComponentScan("com.baeldung.annotation.servletcomponentscan.components")
public class SpringBootAnnotatedApp {
diff --git a/spring-boot/src/main/java/com/baeldung/annotation/servletcomponentscan/SpringBootPlainApp.java b/spring-boot/src/main/java/com/baeldung/annotation/servletcomponentscan/SpringBootPlainApp.java
index 8a39078aac..44030f440b 100644
--- a/spring-boot/src/main/java/com/baeldung/annotation/servletcomponentscan/SpringBootPlainApp.java
+++ b/spring-boot/src/main/java/com/baeldung/annotation/servletcomponentscan/SpringBootPlainApp.java
@@ -3,7 +3,9 @@ package com.baeldung.annotation.servletcomponentscan;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.ComponentScan;
-@SpringBootApplication
+import com.baeldung.autoconfiguration.MySQLAutoconfiguration;
+
+@SpringBootApplication(exclude=MySQLAutoconfiguration.class)
@ComponentScan(basePackages = "com.baeldung.annotation.servletcomponentscan.components")
public class SpringBootPlainApp {
diff --git a/spring-boot/src/main/java/com/baeldung/autoconfiguration/MySQLAutoconfiguration.java b/spring-boot/src/main/java/com/baeldung/autoconfiguration/MySQLAutoconfiguration.java
new file mode 100644
index 0000000000..bbe2a86e39
--- /dev/null
+++ b/spring-boot/src/main/java/com/baeldung/autoconfiguration/MySQLAutoconfiguration.java
@@ -0,0 +1,121 @@
+package com.baeldung.autoconfiguration;
+
+import java.util.Arrays;
+import java.util.Properties;
+
+import javax.persistence.EntityManagerFactory;
+import javax.sql.DataSource;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.autoconfigure.AutoConfigureOrder;
+import org.springframework.boot.autoconfigure.condition.ConditionMessage;
+import org.springframework.boot.autoconfigure.condition.ConditionMessage.Style;
+import org.springframework.boot.autoconfigure.condition.ConditionOutcome;
+import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
+import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
+import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
+import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
+import org.springframework.boot.autoconfigure.condition.ConditionalOnResource;
+import org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplication;
+import org.springframework.boot.autoconfigure.condition.SpringBootCondition;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.ConditionContext;
+import org.springframework.context.annotation.Conditional;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.context.annotation.PropertySource;
+import org.springframework.core.Ordered;
+import org.springframework.core.env.Environment;
+import org.springframework.core.type.AnnotatedTypeMetadata;
+import org.springframework.jdbc.datasource.DriverManagerDataSource;
+import org.springframework.orm.jpa.JpaTransactionManager;
+import org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean;
+import org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter;
+import org.springframework.util.ClassUtils;
+
+@Configuration
+@ConditionalOnClass(DataSource.class)
+@AutoConfigureOrder(Ordered.HIGHEST_PRECEDENCE)
+@PropertySource("classpath:mysql.properties")
+public class MySQLAutoconfiguration {
+ @Autowired
+ private Environment env;
+
+ @Bean
+ @ConditionalOnProperty(name = "usemysql", havingValue = "local")
+ @ConditionalOnMissingBean
+ public DataSource dataSource() {
+ final DriverManagerDataSource dataSource = new DriverManagerDataSource();
+
+ dataSource.setDriverClassName("com.mysql.cj.jdbc.Driver");
+ dataSource.setUrl("jdbc:mysql://localhost:3306/myDb?createDatabaseIfNotExist=true");
+ dataSource.setUsername("mysqluser");
+ dataSource.setPassword("mysqlpass");
+
+ return dataSource;
+ }
+
+ @Bean(name = "dataSource")
+ @ConditionalOnProperty(name = "usemysql", havingValue = "custom")
+ @ConditionalOnMissingBean
+ public DataSource dataSource2() {
+ final DriverManagerDataSource dataSource = new DriverManagerDataSource();
+
+ dataSource.setDriverClassName("com.mysql.cj.jdbc.Driver");
+ dataSource.setUrl(env.getProperty("mysql.url"));
+ dataSource.setUsername(env.getProperty("mysql.user") != null ? env.getProperty("mysql.user") : "");
+ dataSource.setPassword(env.getProperty("mysql.pass") != null ? env.getProperty("mysql.pass") : "");
+
+ return dataSource;
+ }
+
+ @Bean
+ @ConditionalOnBean(name = "dataSource")
+ @ConditionalOnMissingBean
+ public LocalContainerEntityManagerFactoryBean entityManagerFactory() {
+ final LocalContainerEntityManagerFactoryBean em = new LocalContainerEntityManagerFactoryBean();
+ em.setDataSource(dataSource());
+ em.setPackagesToScan(new String[] { "com.baeldung.autoconfiguration.example" });
+ em.setJpaVendorAdapter(new HibernateJpaVendorAdapter());
+ if (additionalProperties() != null) {
+ em.setJpaProperties(additionalProperties());
+ }
+ return em;
+ }
+
+ @Bean
+ @ConditionalOnMissingBean(type = "JpaTransactionManager")
+ JpaTransactionManager transactionManager(final EntityManagerFactory entityManagerFactory) {
+ final JpaTransactionManager transactionManager = new JpaTransactionManager();
+ transactionManager.setEntityManagerFactory(entityManagerFactory);
+ return transactionManager;
+ }
+
+ @ConditionalOnResource(resources = "classpath:mysql.properties")
+ @Conditional(HibernateCondition.class)
+ final Properties additionalProperties() {
+ final Properties hibernateProperties = new Properties();
+
+ hibernateProperties.setProperty("hibernate.hbm2ddl.auto", env.getProperty("mysql-hibernate.hbm2ddl.auto"));
+ hibernateProperties.setProperty("hibernate.dialect", env.getProperty("mysql-hibernate.dialect"));
+ hibernateProperties.setProperty("hibernate.show_sql", env.getProperty("mysql-hibernate.show_sql") != null ? env.getProperty("mysql-hibernate.show_sql") : "false");
+
+ return hibernateProperties;
+ }
+
+ static class HibernateCondition extends SpringBootCondition {
+
+ private static String[] CLASS_NAMES = { "org.hibernate.ejb.HibernateEntityManager", "org.hibernate.jpa.HibernateEntityManager" };
+
+ @Override
+ public ConditionOutcome getMatchOutcome(ConditionContext context, AnnotatedTypeMetadata metadata) {
+ ConditionMessage.Builder message = ConditionMessage.forCondition("Hibernate");
+ for (String className : CLASS_NAMES) {
+ if (ClassUtils.isPresent(className, context.getClassLoader())) {
+ return ConditionOutcome.match(message.found("class").items(Style.NORMAL, className));
+ }
+ }
+ return ConditionOutcome.noMatch(message.didNotFind("class", "classes").items(Style.NORMAL, Arrays.asList(CLASS_NAMES)));
+ }
+
+ }
+}
diff --git a/spring-boot/src/main/java/com/baeldung/autoconfiguration/example/AutoconfigurationApplication.java b/spring-boot/src/main/java/com/baeldung/autoconfiguration/example/AutoconfigurationApplication.java
new file mode 100644
index 0000000000..f419dbf4fd
--- /dev/null
+++ b/spring-boot/src/main/java/com/baeldung/autoconfiguration/example/AutoconfigurationApplication.java
@@ -0,0 +1,15 @@
+package com.baeldung.autoconfiguration.example;
+
+import javax.annotation.security.RolesAllowed;
+
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+
+@SpringBootApplication
+public class AutoconfigurationApplication {
+ @RolesAllowed("*")
+ public static void main(String[] args) {
+ System.setProperty("security.basic.enabled", "false");
+ SpringApplication.run(AutoconfigurationApplication.class, args);
+ }
+}
diff --git a/spring-boot/src/main/java/com/baeldung/autoconfiguration/example/MyUser.java b/spring-boot/src/main/java/com/baeldung/autoconfiguration/example/MyUser.java
new file mode 100644
index 0000000000..31ce0fd969
--- /dev/null
+++ b/spring-boot/src/main/java/com/baeldung/autoconfiguration/example/MyUser.java
@@ -0,0 +1,27 @@
+package com.baeldung.autoconfiguration.example;
+
+import javax.persistence.Entity;
+import javax.persistence.Id;
+
+@Entity
+public class MyUser {
+ @Id
+ private String email;
+
+ public MyUser() {
+ }
+
+ public MyUser(String email) {
+ super();
+ this.email = email;
+ }
+
+ public String getEmail() {
+ return email;
+ }
+
+ public void setEmail(String email) {
+ this.email = email;
+ }
+
+}
diff --git a/spring-boot/src/main/java/com/baeldung/autoconfiguration/example/MyUserRepository.java b/spring-boot/src/main/java/com/baeldung/autoconfiguration/example/MyUserRepository.java
new file mode 100644
index 0000000000..fa411bc0b8
--- /dev/null
+++ b/spring-boot/src/main/java/com/baeldung/autoconfiguration/example/MyUserRepository.java
@@ -0,0 +1,7 @@
+package com.baeldung.autoconfiguration.example;
+
+import org.springframework.data.jpa.repository.JpaRepository;
+
+public interface MyUserRepository extends JpaRepository{
+
+}
diff --git a/spring-boot/src/main/java/com/baeldung/failureanalyzer/FailureAnalyzerApplication.java b/spring-boot/src/main/java/com/baeldung/failureanalyzer/FailureAnalyzerApplication.java
index 3489732b6f..9d379cbc09 100644
--- a/spring-boot/src/main/java/com/baeldung/failureanalyzer/FailureAnalyzerApplication.java
+++ b/spring-boot/src/main/java/com/baeldung/failureanalyzer/FailureAnalyzerApplication.java
@@ -5,7 +5,9 @@ import javax.annotation.security.RolesAllowed;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
-@SpringBootApplication
+import com.baeldung.autoconfiguration.MySQLAutoconfiguration;
+
+@SpringBootApplication(exclude=MySQLAutoconfiguration.class)
public class FailureAnalyzerApplication {
@RolesAllowed("*")
public static void main(String[] args) {
diff --git a/spring-boot/src/main/java/com/baeldung/git/CommitIdApplication.java b/spring-boot/src/main/java/com/baeldung/git/CommitIdApplication.java
index cd696eae70..c077692edb 100644
--- a/spring-boot/src/main/java/com/baeldung/git/CommitIdApplication.java
+++ b/spring-boot/src/main/java/com/baeldung/git/CommitIdApplication.java
@@ -6,7 +6,9 @@ import org.springframework.context.annotation.Bean;
import org.springframework.context.support.PropertySourcesPlaceholderConfigurer;
import org.springframework.core.io.ClassPathResource;
-@SpringBootApplication(scanBasePackages = { "com.baeldung.git" })
+import com.baeldung.autoconfiguration.MySQLAutoconfiguration;
+
+@SpringBootApplication(scanBasePackages = { "com.baeldung.git" }, exclude=MySQLAutoconfiguration.class)
public class CommitIdApplication {
public static void main(String[] args) {
SpringApplication.run(CommitIdApplication.class, args);
diff --git a/spring-boot/src/main/java/com/baeldung/internationalization/InternationalizationApp.java b/spring-boot/src/main/java/com/baeldung/internationalization/InternationalizationApp.java
index c92d1c32e6..b743eb4b61 100644
--- a/spring-boot/src/main/java/com/baeldung/internationalization/InternationalizationApp.java
+++ b/spring-boot/src/main/java/com/baeldung/internationalization/InternationalizationApp.java
@@ -5,7 +5,9 @@ import javax.annotation.security.RolesAllowed;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
-@SpringBootApplication
+import com.baeldung.autoconfiguration.MySQLAutoconfiguration;
+
+@SpringBootApplication(exclude=MySQLAutoconfiguration.class)
public class InternationalizationApp {
@RolesAllowed("*")
public static void main(String[] args) {
diff --git a/spring-boot/src/main/java/com/baeldung/intro/App.java b/spring-boot/src/main/java/com/baeldung/intro/App.java
index 30e1c2b5ba..9553d814ac 100644
--- a/spring-boot/src/main/java/com/baeldung/intro/App.java
+++ b/spring-boot/src/main/java/com/baeldung/intro/App.java
@@ -3,7 +3,9 @@ package com.baeldung.intro;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
-@SpringBootApplication
+import com.baeldung.autoconfiguration.MySQLAutoconfiguration;
+
+@SpringBootApplication(exclude=MySQLAutoconfiguration.class)
public class App
{
public static void main( String[] args )
diff --git a/spring-boot/src/main/java/com/baeldung/servlets/ApplicationMain.java b/spring-boot/src/main/java/com/baeldung/servlets/ApplicationMain.java
index a6ea3757fe..8965e2f013 100644
--- a/spring-boot/src/main/java/com/baeldung/servlets/ApplicationMain.java
+++ b/spring-boot/src/main/java/com/baeldung/servlets/ApplicationMain.java
@@ -5,7 +5,9 @@ import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.support.SpringBootServletInitializer;
-@SpringBootApplication
+import com.baeldung.autoconfiguration.MySQLAutoconfiguration;
+
+@SpringBootApplication(exclude=MySQLAutoconfiguration.class)
public class ApplicationMain extends SpringBootServletInitializer {
public static void main(String[] args) {
diff --git a/spring-boot/src/main/java/com/baeldung/utils/Application.java b/spring-boot/src/main/java/com/baeldung/utils/Application.java
index a3d9f9130c..9d5d75bce2 100644
--- a/spring-boot/src/main/java/com/baeldung/utils/Application.java
+++ b/spring-boot/src/main/java/com/baeldung/utils/Application.java
@@ -6,7 +6,9 @@ import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.ComponentScan;
-@SpringBootApplication
+import com.baeldung.autoconfiguration.MySQLAutoconfiguration;
+
+@SpringBootApplication(exclude=MySQLAutoconfiguration.class)
@ComponentScan(basePackages="com.baeldung.utils")
public class Application {
diff --git a/spring-boot/src/main/java/com/baeldung/webjar/WebjarsdemoApplication.java b/spring-boot/src/main/java/com/baeldung/webjar/WebjarsdemoApplication.java
index d2135754c9..44d48f5f8f 100644
--- a/spring-boot/src/main/java/com/baeldung/webjar/WebjarsdemoApplication.java
+++ b/spring-boot/src/main/java/com/baeldung/webjar/WebjarsdemoApplication.java
@@ -4,7 +4,9 @@ import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.ComponentScan;
-@SpringBootApplication
+import com.baeldung.autoconfiguration.MySQLAutoconfiguration;
+
+@SpringBootApplication(exclude=MySQLAutoconfiguration.class)
public class WebjarsdemoApplication {
public static void main(String[] args) {
diff --git a/spring-boot/src/main/java/org/baeldung/Application.java b/spring-boot/src/main/java/org/baeldung/Application.java
index aae0c427a9..c47bb90830 100644
--- a/spring-boot/src/main/java/org/baeldung/Application.java
+++ b/spring-boot/src/main/java/org/baeldung/Application.java
@@ -3,7 +3,9 @@ package org.baeldung;
import org.springframework.boot.SpringApplication;
import org.springframework.context.ApplicationContext;
-@org.springframework.boot.autoconfigure.SpringBootApplication
+import com.baeldung.autoconfiguration.MySQLAutoconfiguration;
+
+@org.springframework.boot.autoconfigure.SpringBootApplication(exclude=MySQLAutoconfiguration.class)
public class Application {
private static ApplicationContext applicationContext;
diff --git a/spring-boot/src/main/java/org/baeldung/boot/DemoApplication.java b/spring-boot/src/main/java/org/baeldung/boot/DemoApplication.java
index e61d140396..2d83b650ec 100644
--- a/spring-boot/src/main/java/org/baeldung/boot/DemoApplication.java
+++ b/spring-boot/src/main/java/org/baeldung/boot/DemoApplication.java
@@ -3,7 +3,9 @@ package org.baeldung.boot;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
-@SpringBootApplication
+import com.baeldung.autoconfiguration.MySQLAutoconfiguration;
+
+@SpringBootApplication(exclude=MySQLAutoconfiguration.class)
public class DemoApplication {
public static void main(String[] args) {
diff --git a/spring-boot/src/main/java/org/baeldung/main/SpringBootApplication.java b/spring-boot/src/main/java/org/baeldung/main/SpringBootApplication.java
index 582d2d9e9c..872426d850 100644
--- a/spring-boot/src/main/java/org/baeldung/main/SpringBootApplication.java
+++ b/spring-boot/src/main/java/org/baeldung/main/SpringBootApplication.java
@@ -14,11 +14,13 @@ import org.springframework.context.annotation.ComponentScan;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
+import com.baeldung.autoconfiguration.MySQLAutoconfiguration;
+
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
@RestController
-@EnableAutoConfiguration
+@EnableAutoConfiguration(exclude=MySQLAutoconfiguration.class)
@ComponentScan({ "org.baeldung.common.error", "org.baeldung.common.error.controller", "org.baeldung.common.properties", "org.baeldung.common.resources", "org.baeldung.endpoints", "org.baeldung.service", "org.baeldung.monitor.jmx", "org.baeldung.service" })
public class SpringBootApplication {
diff --git a/spring-boot/src/main/java/org/baeldung/session/exception/Application.java b/spring-boot/src/main/java/org/baeldung/session/exception/Application.java
index 23d741b98c..9f8dadbe55 100644
--- a/spring-boot/src/main/java/org/baeldung/session/exception/Application.java
+++ b/spring-boot/src/main/java/org/baeldung/session/exception/Application.java
@@ -7,8 +7,10 @@ import org.springframework.boot.autoconfigure.domain.EntityScan;
import org.springframework.context.annotation.Bean;
import org.springframework.orm.jpa.vendor.HibernateJpaSessionFactoryBean;
+import com.baeldung.autoconfiguration.MySQLAutoconfiguration;
+
@EntityScan(basePackageClasses = Foo.class)
-@SpringBootApplication
+@SpringBootApplication(exclude=MySQLAutoconfiguration.class)
public class Application {
public static void main(String[] args) {
System.setProperty("spring.config.name", "exception");
diff --git a/spring-boot/src/main/resources/META-INF/spring.factories b/spring-boot/src/main/resources/META-INF/spring.factories
index e3d3aa4c8e..5f55544eff 100644
--- a/spring-boot/src/main/resources/META-INF/spring.factories
+++ b/spring-boot/src/main/resources/META-INF/spring.factories
@@ -1 +1,3 @@
-org.springframework.boot.diagnostics.FailureAnalyzer=com.baeldung.failureanalyzer.MyBeanNotOfRequiredTypeFailureAnalyzer
\ No newline at end of file
+org.springframework.boot.diagnostics.FailureAnalyzer=com.baeldung.failureanalyzer.MyBeanNotOfRequiredTypeFailureAnalyzer
+
+org.springframework.boot.autoconfigure.EnableAutoConfiguration=com.baeldung.autoconfiguration.MySQLAutoconfiguration
\ No newline at end of file
diff --git a/spring-boot/src/main/resources/mysql.properties b/spring-boot/src/main/resources/mysql.properties
new file mode 100644
index 0000000000..27092f852f
--- /dev/null
+++ b/spring-boot/src/main/resources/mysql.properties
@@ -0,0 +1,5 @@
+usemysql=local
+
+mysql-hibernate.dialect=org.hibernate.dialect.MySQLDialect
+mysql-hibernate.show_sql=true
+mysql-hibernate.hbm2ddl.auto=create-drop
\ No newline at end of file
diff --git a/spring-boot/src/test/java/com/baeldung/autoconfiguration/AutoconfigurationTest.java b/spring-boot/src/test/java/com/baeldung/autoconfiguration/AutoconfigurationTest.java
new file mode 100644
index 0000000000..608d0d10bc
--- /dev/null
+++ b/spring-boot/src/test/java/com/baeldung/autoconfiguration/AutoconfigurationTest.java
@@ -0,0 +1,28 @@
+package com.baeldung.autoconfiguration;
+
+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.data.jpa.repository.config.EnableJpaRepositories;
+import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
+
+import com.baeldung.autoconfiguration.example.AutoconfigurationApplication;
+import com.baeldung.autoconfiguration.example.MyUser;
+import com.baeldung.autoconfiguration.example.MyUserRepository;
+
+@RunWith(SpringJUnit4ClassRunner.class)
+@SpringBootTest(classes = AutoconfigurationApplication.class)
+@EnableJpaRepositories(basePackages = { "com.baeldung.autoconfiguration.example" })
+public class AutoconfigurationTest {
+
+ @Autowired
+ private MyUserRepository userRepository;
+
+ @Test
+ public void whenSaveUser_thenOk() {
+ MyUser user = new MyUser("user@email.com");
+ userRepository.save(user);
+ }
+
+}