반응형
공부하면서 적는 내용이라 정확하지 않을 수 있음.
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);
}
}
반응형
'Study > Java' 카테고리의 다른 글
Spring Cloud Config Server 사용하기 (0) | 2019.01.03 |
---|---|
Spring Data Mongodb 사용해보기 (0) | 2018.12.24 |
JDK 11에서 java.xml.bind 관련 에러 발생하는 경우 (0) | 2018.12.13 |
Spring Boot multi module, multi profile 환경에서 @PropertySouce 사용하기 (0) | 2018.12.10 |
STS 4.0.0 이후 java, properties 에디터에서 ctrl + space (content assist) 가 동작하지않는 경우 (0) | 2018.12.06 |
빌드 시 constructor ... already defined in class 에러가 발생하는 경우 (0) | 2018.11.28 |
JDK 11 New Features (0) | 2018.11.22 |
JDK 10 New Features (0) | 2018.11.21 |
JDK 9 New Features (0) | 2018.11.21 |
JCP JSR JEP에 대해 (0) | 2018.11.20 |