파란하늘의 지식창고
반응형

공부하면서 적는 내용이라 정확하지 않을 수 있음.

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);
	}
}


반응형
profile

파란하늘의 지식창고

@Bluesky_

내용이 유익했다면 광고 배너를 클릭 해주세요