Study/Java
Spring Boot Mongodb reactive 설정하기
Bluesky_
2018. 12. 3. 23:03
반응형
공부하면서 적는 내용이라 정확하지 않을 수 있음.
mongodb 를 모르는 상태에서 연동을 하는 정도의 수준
reactive를 공부하려고 이 설정을 진행 하였음.
reactive가 아닌 경우의 설정은 생략
spring-data-mongodb 설정
boot를 사용하지 않는 경우 아래와 같이 AbstractReactiveMongoConfiguration를 구현하여 설정을 한다.
dependency 설정
<dependency>
<groupid>org.springframework.data</groupid>
<artifactid>spring-data-mongodb</artifactid>
</dependency>
java config 설정
@Configuration
@EnableReactiveMongoRepositories(basePackages = "net.luversof.blog.repository")
public class BlogReactiveMongoConfiguration extends AbstractReactiveMongoConfiguration {
@Override
public MongoClient reactiveMongoClient() {
return MongoClients.create("mongodb://192.168.0.11:27017");
}
@Override
protected String getDatabaseName() {
return "blog";
}
}
reactive가 아닌 경우는 AbstractMongoConfiguration으로 구현. (AbstractMongoClientConfiguration는 어떤 경우 쓰는 것인가?)
spring-boot 의 spring-data-mongodb 설정
boot의 autoConfiguration을 사용하는 경우 아래와 같다.
dependency 설정
<dependency>
<groupid>org.springframework.boot</groupid>
<artifactid>spring-boot-starter-data-mongodb-reactive</artifactid>
</dependency>
reactive 가 아닌 경우 spring-boot-starter-data-mongodb를 참조하여 사용한다.
properties 설정
spring.data.mongodb.host=ip주소
spring.data.mongodb.port=27017
java config 설정
@Configuration
@EnableReactiveMongoRepositories(basePackages = "net.luversof.blog.repository", reactiveMongoTemplateRef = "blogReactiveMongoTemplate")
public class BlogReactiveMongoConfiguration {
@Bean
public SimpleReactiveMongoDatabaseFactory blogReactiveMongoDatabaseFactory(MongoClient mongoClient) {
return new SimpleReactiveMongoDatabaseFactory(mongoClient, "blog");
}
@Bean
public ReactiveMongoTemplate blogReactiveMongoTemplate(@Qualifier("blogReactiveMongoDatabaseFactory") ReactiveMongoDatabaseFactory reactiveMongoDatabaseFactory, MongoConverter converter) {
return new ReactiveMongoTemplate(reactiveMongoDatabaseFactory, converter);
}
}
반응형