Spring reactive frameworks.

This commit is contained in:
saroff
2020-08-13 11:24:32 +03:00
parent a8e72b75e5
commit 6fad82f578
3 changed files with 11 additions and 10 deletions
@@ -12,7 +12,9 @@ import org.springframework.data.mongodb.core.ReactiveMongoTemplate;
import org.springframework.data.mongodb.repository.config.EnableReactiveMongoRepositories;
import reactor.core.Disposable;
import reactor.core.publisher.Flux;
import ru.otus.spring.domain.Account;
import ru.otus.spring.domain.Person;
import ru.otus.spring.repostory.AccountRepository;
import ru.otus.spring.repostory.PersonRepository;
@SpringBootApplication
@@ -22,14 +24,7 @@ public class Main {
ApplicationContext context = SpringApplication.run(Main.class);
PersonRepository repository = context.getBean(PersonRepository.class);
repository.saveAll(
Flux.fromArray(new String[]{"Pushkin", "Lermontov"})
.map(Person::new)
).subscribe();
Disposable flux = repository.findAll()
.subscribe(p -> System.out.println(p.getName()));
AccountRepository accountRepository = context.getBean(AccountRepository.class);
Thread.sleep(20000);
@@ -0,0 +1,8 @@
package ru.otus.spring.repostory;
import org.springframework.data.mongodb.repository.ReactiveMongoRepository;
import ru.otus.spring.domain.Account;
import ru.otus.spring.domain.Person;
public interface AccountRepository extends ReactiveMongoRepository<Account, String> {
}
@@ -7,9 +7,7 @@ import reactor.core.publisher.Flux;
import reactor.core.publisher.Mono;
import ru.otus.spring.domain.Person;
public interface PersonRepository extends ReactiveMongoRepository<Person, String> {
Flux<Person> findByName(String name);
@Query("{ 'name': ?0 }")