diff --git a/2023-01/spring-15/spring-data-keyvalue-class-work/spring-data-keyvalue-exercise/pom.xml b/2023-01/spring-15/spring-data-keyvalue-class-work/spring-data-keyvalue-exercise/pom.xml index 180b1a60..8245720b 100644 --- a/2023-01/spring-15/spring-data-keyvalue-class-work/spring-data-keyvalue-exercise/pom.xml +++ b/2023-01/spring-15/spring-data-keyvalue-class-work/spring-data-keyvalue-exercise/pom.xml @@ -11,13 +11,13 @@ org.springframework.boot spring-boot-starter-parent - 2.2.1.RELEASE + 3.0.4 - 11 - 11 + 17 + 17 @@ -25,11 +25,10 @@ org.springframework.boot spring-boot-starter - - - - - + + org.springframework.data + spring-data-keyvalue + diff --git a/2023-01/spring-15/spring-data-keyvalue-class-work/spring-data-keyvalue-exercise/src/main/java/ru/otus/spring/Main.java b/2023-01/spring-15/spring-data-keyvalue-class-work/spring-data-keyvalue-exercise/src/main/java/ru/otus/spring/Main.java index d0d34e97..a7535258 100644 --- a/2023-01/spring-15/spring-data-keyvalue-class-work/spring-data-keyvalue-exercise/src/main/java/ru/otus/spring/Main.java +++ b/2023-01/spring-15/spring-data-keyvalue-class-work/spring-data-keyvalue-exercise/src/main/java/ru/otus/spring/Main.java @@ -1,21 +1,15 @@ package ru.otus.spring; +import jakarta.annotation.PostConstruct; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; -import org.springframework.data.map.repository.config.EnableMapRepositories; import ru.otus.spring.domain.Person; import ru.otus.spring.repostory.PersonRepository; -import javax.annotation.PostConstruct; - @SpringBootApplication public class Main { - public static void main(String[] args) { - SpringApplication.run(Main.class); - } - @SuppressWarnings("SpringJavaAutowiredFieldsWarningInspection") @Autowired private PersonRepository repository; @@ -26,4 +20,8 @@ public class Main { repository.findAll(); } + + public static void main(String[] args) { + SpringApplication.run(Main.class); + } } diff --git a/2023-01/spring-15/spring-data-keyvalue-class-work/spring-data-keyvalue-exercise/src/main/java/ru/otus/spring/domain/Person.java b/2023-01/spring-15/spring-data-keyvalue-class-work/spring-data-keyvalue-exercise/src/main/java/ru/otus/spring/domain/Person.java index f707e14e..f9b8f0ac 100644 --- a/2023-01/spring-15/spring-data-keyvalue-class-work/spring-data-keyvalue-exercise/src/main/java/ru/otus/spring/domain/Person.java +++ b/2023-01/spring-15/spring-data-keyvalue-class-work/spring-data-keyvalue-exercise/src/main/java/ru/otus/spring/domain/Person.java @@ -1,8 +1,5 @@ package ru.otus.spring.domain; -import org.springframework.data.annotation.Id; -import org.springframework.data.keyvalue.annotation.KeySpace; - public class Person { private int id; diff --git a/2023-01/spring-15/spring-data-keyvalue-class-work/spring-data-keyvalue-solution/pom.xml b/2023-01/spring-15/spring-data-keyvalue-class-work/spring-data-keyvalue-solution/pom.xml index 7d0041e8..5a6b9344 100644 --- a/2023-01/spring-15/spring-data-keyvalue-class-work/spring-data-keyvalue-solution/pom.xml +++ b/2023-01/spring-15/spring-data-keyvalue-class-work/spring-data-keyvalue-solution/pom.xml @@ -11,13 +11,13 @@ org.springframework.boot spring-boot-starter-parent - 2.2.1.RELEASE + 3.0.4 - 11 - 11 + 17 + 17 diff --git a/2023-01/spring-15/spring-data-keyvalue-class-work/spring-data-keyvalue-solution/src/main/java/ru/otus/spring/Main.java b/2023-01/spring-15/spring-data-keyvalue-class-work/spring-data-keyvalue-solution/src/main/java/ru/otus/spring/Main.java index 42d9078f..8bedd3c6 100644 --- a/2023-01/spring-15/spring-data-keyvalue-class-work/spring-data-keyvalue-solution/src/main/java/ru/otus/spring/Main.java +++ b/2023-01/spring-15/spring-data-keyvalue-class-work/spring-data-keyvalue-solution/src/main/java/ru/otus/spring/Main.java @@ -1,5 +1,6 @@ package ru.otus.spring; +import jakarta.annotation.PostConstruct; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @@ -9,8 +10,6 @@ import ru.otus.spring.domain.Person; import ru.otus.spring.repostory.EmailRepository; import ru.otus.spring.repostory.PersonRepository; -import javax.annotation.PostConstruct; - @SpringBootApplication @EnableMapRepositories public class Main { diff --git a/2023-01/spring-15/spring-data-keyvalue-class-work/spring-data-keyvalue-solution/src/main/java/ru/otus/spring/repostory/EmailRepository.java b/2023-01/spring-15/spring-data-keyvalue-class-work/spring-data-keyvalue-solution/src/main/java/ru/otus/spring/repostory/EmailRepository.java index 6ce870a2..e563fc74 100644 --- a/2023-01/spring-15/spring-data-keyvalue-class-work/spring-data-keyvalue-solution/src/main/java/ru/otus/spring/repostory/EmailRepository.java +++ b/2023-01/spring-15/spring-data-keyvalue-class-work/spring-data-keyvalue-solution/src/main/java/ru/otus/spring/repostory/EmailRepository.java @@ -1,14 +1,12 @@ package ru.otus.spring.repostory; -import org.springframework.data.keyvalue.repository.KeyValueRepository; -import org.springframework.stereotype.Repository; import ru.otus.spring.domain.Email; -import ru.otus.spring.domain.Person; import java.util.List; -public interface EmailRepository { +public interface EmailRepository { List findAll(); + Email save(Email email); } diff --git a/2023-01/spring-15/spring-data-keyvalue-class-work/spring-data-keyvalue-solution/src/main/java/ru/otus/spring/repostory/EmailRepositoryImpl.java b/2023-01/spring-15/spring-data-keyvalue-class-work/spring-data-keyvalue-solution/src/main/java/ru/otus/spring/repostory/EmailRepositoryImpl.java index e2aa75a1..1bc381d4 100644 --- a/2023-01/spring-15/spring-data-keyvalue-class-work/spring-data-keyvalue-solution/src/main/java/ru/otus/spring/repostory/EmailRepositoryImpl.java +++ b/2023-01/spring-15/spring-data-keyvalue-class-work/spring-data-keyvalue-solution/src/main/java/ru/otus/spring/repostory/EmailRepositoryImpl.java @@ -5,6 +5,7 @@ import org.springframework.stereotype.Repository; import ru.otus.spring.domain.Email; import java.util.List; +import java.util.stream.StreamSupport; @Repository public class EmailRepositoryImpl implements EmailRepository { @@ -17,7 +18,8 @@ public class EmailRepositoryImpl implements EmailRepository { @Override public List findAll() { - return (List) keyValueTemplate.findAll(Email.class); + return StreamSupport.stream(keyValueTemplate.findAll(Email.class).spliterator(), false) + .toList(); } @Override diff --git a/2023-01/spring-15/spring-data-keyvalue-class-work/spring-data-keyvalue-solution/src/main/java/ru/otus/spring/repostory/PersonRepository.java b/2023-01/spring-15/spring-data-keyvalue-class-work/spring-data-keyvalue-solution/src/main/java/ru/otus/spring/repostory/PersonRepository.java index 99a93c24..8e0760fb 100644 --- a/2023-01/spring-15/spring-data-keyvalue-class-work/spring-data-keyvalue-solution/src/main/java/ru/otus/spring/repostory/PersonRepository.java +++ b/2023-01/spring-15/spring-data-keyvalue-class-work/spring-data-keyvalue-solution/src/main/java/ru/otus/spring/repostory/PersonRepository.java @@ -1,12 +1,13 @@ package ru.otus.spring.repostory; import org.springframework.data.keyvalue.repository.KeyValueRepository; -import org.springframework.data.repository.CrudRepository; import ru.otus.spring.domain.Person; import java.util.List; public interface PersonRepository extends KeyValueRepository { + Person save(Person person); + List findAll(); } diff --git a/2023-01/spring-15/spring-data-mongo-class-work/spring-data-mongo-exercise/pom.xml b/2023-01/spring-15/spring-data-mongo-class-work/spring-data-mongo-exercise/pom.xml index 5cb9d0e1..6a29b310 100644 --- a/2023-01/spring-15/spring-data-mongo-class-work/spring-data-mongo-exercise/pom.xml +++ b/2023-01/spring-15/spring-data-mongo-class-work/spring-data-mongo-exercise/pom.xml @@ -11,27 +11,34 @@ org.springframework.boot spring-boot-starter-parent - 2.3.4.RELEASE + 3.0.4 - 11 - 11 + 17 + 17 + 17 + 4.3.8 + 4.6.1 - - org.springframework.boot - spring-boot-starter - org.springframework.boot spring-boot-starter-data-mongodb + de.flapdoodle.embed de.flapdoodle.embed.mongo + ${flapdoodle.version} + + + + de.flapdoodle.embed + de.flapdoodle.embed.mongo.spring30x + ${flapdoodle.version} diff --git a/2023-01/spring-15/spring-data-mongo-class-work/spring-data-mongo-exercise/src/main/java/ru/otus/spring/Main.java b/2023-01/spring-15/spring-data-mongo-class-work/spring-data-mongo-exercise/src/main/java/ru/otus/spring/Main.java index d67d7972..c0233527 100644 --- a/2023-01/spring-15/spring-data-mongo-class-work/spring-data-mongo-exercise/src/main/java/ru/otus/spring/Main.java +++ b/2023-01/spring-15/spring-data-mongo-class-work/spring-data-mongo-exercise/src/main/java/ru/otus/spring/Main.java @@ -1,6 +1,5 @@ package ru.otus.spring; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.context.ApplicationContext; @@ -10,10 +9,6 @@ import ru.otus.spring.repostory.PersonRepository; @SpringBootApplication public class Main { - @SuppressWarnings("SpringJavaAutowiredFieldsWarningInspection") - @Autowired - private PersonRepository repository; - public static void main(String[] args) throws InterruptedException { ApplicationContext context = SpringApplication.run(Main.class); diff --git a/2023-01/spring-15/spring-data-mongo-class-work/spring-data-mongo-exercise/src/main/resources/application.yml b/2023-01/spring-15/spring-data-mongo-class-work/spring-data-mongo-exercise/src/main/resources/application.yml index 9bffd5dc..d2122b82 100644 --- a/2023-01/spring-15/spring-data-mongo-class-work/spring-data-mongo-exercise/src/main/resources/application.yml +++ b/2023-01/spring-15/spring-data-mongo-class-work/spring-data-mongo-exercise/src/main/resources/application.yml @@ -1,4 +1,11 @@ spring: data: mongodb: + port: 0 # when flapdoodle using database: company + +de: + flapdoodle: + mongodb: + embedded: + version: 4.0.2 \ No newline at end of file diff --git a/2023-01/spring-15/spring-data-mongo-class-work/spring-data-mongo-solution/pom.xml b/2023-01/spring-15/spring-data-mongo-class-work/spring-data-mongo-solution/pom.xml index 6045db5d..1cbec2d3 100644 --- a/2023-01/spring-15/spring-data-mongo-class-work/spring-data-mongo-solution/pom.xml +++ b/2023-01/spring-15/spring-data-mongo-class-work/spring-data-mongo-solution/pom.xml @@ -11,29 +11,35 @@ org.springframework.boot spring-boot-starter-parent - 2.3.4.RELEASE + 3.0.4 - 11 - 11 - 4.1.17 + 17 + 17 + 17 + 4.3.8 + 4.6.1 - - org.springframework.boot - spring-boot-starter - org.springframework.boot spring-boot-starter-data-mongodb + de.flapdoodle.embed de.flapdoodle.embed.mongo + ${flapdoodle.version} + + + + de.flapdoodle.embed + de.flapdoodle.embed.mongo.spring30x + ${flapdoodle.version} diff --git a/2023-01/spring-15/spring-data-mongo-class-work/spring-data-mongo-solution/src/main/java/ru/otus/spring/Main.java b/2023-01/spring-15/spring-data-mongo-class-work/spring-data-mongo-solution/src/main/java/ru/otus/spring/Main.java index fb0e8a60..3c9e618d 100644 --- a/2023-01/spring-15/spring-data-mongo-class-work/spring-data-mongo-solution/src/main/java/ru/otus/spring/Main.java +++ b/2023-01/spring-15/spring-data-mongo-class-work/spring-data-mongo-solution/src/main/java/ru/otus/spring/Main.java @@ -1,7 +1,6 @@ package ru.otus.spring; import com.github.cloudyrock.spring.v5.EnableMongock; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.context.ApplicationContext; @@ -14,10 +13,6 @@ import ru.otus.spring.repostory.PersonRepository; @SpringBootApplication public class Main { - @SuppressWarnings("SpringJavaAutowiredFieldsWarningInspection") - @Autowired - private PersonRepository repository; - public static void main(String[] args) throws InterruptedException { ApplicationContext context = SpringApplication.run(Main.class); diff --git a/2023-01/spring-15/spring-data-mongo-class-work/spring-data-mongo-solution/src/main/resources/application.yml b/2023-01/spring-15/spring-data-mongo-class-work/spring-data-mongo-solution/src/main/resources/application.yml index dd00fa36..39177887 100644 --- a/2023-01/spring-15/spring-data-mongo-class-work/spring-data-mongo-solution/src/main/resources/application.yml +++ b/2023-01/spring-15/spring-data-mongo-class-work/spring-data-mongo-solution/src/main/resources/application.yml @@ -1,10 +1,21 @@ spring: data: mongodb: + port: 0 # when flapdoodle using database: company +de: + flapdoodle: + mongodb: + embedded: + version: 4.0.2 + mongock: runner-type: "ApplicationRunner" # default #runner-type: "InitializingBean" change-logs-scan-package: - ru.otus.spring.mongock.changelog + mongo-db: + write-concern: + journal: false + read-concern: local diff --git a/examples/mongo-db-demo-new-mongock/pom.xml b/examples/mongo-db-demo-new-mongock/pom.xml index cab28484..c9db7deb 100644 --- a/examples/mongo-db-demo-new-mongock/pom.xml +++ b/examples/mongo-db-demo-new-mongock/pom.xml @@ -17,11 +17,12 @@ Demo project for MongoDB - 11 - 11 - 11 + 17 + 17 + 17 4.3.8 - 2.9.0 + 4.6.1 + 2.10.1 @@ -54,6 +55,7 @@ spring-boot-starter-test test + com.google.code.gson gson @@ -63,14 +65,14 @@ de.flapdoodle.embed de.flapdoodle.embed.mongo - 4.6.1 + ${flapdoodle.version} test de.flapdoodle.embed de.flapdoodle.embed.mongo.spring30x - 4.6.1 + ${flapdoodle.version}