[SPRING] Spring Data Mongo로 여러 MongoDB 저장소 구성
SPRINGSpring Data Mongo로 여러 MongoDB 저장소 구성
나는 2 MongoTemplate-s와 함께 Spring Boot app에 연결된 2 Mongodb 데이터베이스를 가지고있다 :
mongoTemplate (기본 빈 이름, 기본 db에 연결)
mongoAppTemplate (런타임에 다른 데이터베이스에 연결)
나는 mongoTemplate을 사용하는 MongoRepository-s를 많이 가지고 있지만 mongoAppTemplate을 사용할 일부를 만들고 싶습니다.
2 개의 MongoRepository-s가 Java 구성을 사용하여 다른 MongoTemplate -s를 사용하도록 구성하려면 어떻게합니까?
XML (아래 링크)을 사용하여이를 수행하는 방법을 찾았지만 모든 주석 기반을 유지하려고합니다.
Spring-data-mongodb는 하나의 Mongo 인스턴스에서 여러 데이터베이스에 연결합니다.
해결법
-
==============================
1.기본 개념은 리포지토리가 포함 된 패키지 계층 구조를 두 개의 다른 경로로 분리하는 것입니다.
기본 개념은 리포지토리가 포함 된 패키지 계층 구조를 두 개의 다른 경로로 분리하는 것입니다.
XML 구성은 다음과 같아야합니다.
<mongo:repositories base-package="com.whatever.repositories.main" mongo-template-ref="mongoTemplate"/> <mongo:repositories base-package="com.whatever.repositories.secondary" mongo-template-ref="mongoAppTemplate"/>
편집하다
@EnableMongoRepositories 주석은 @ Repeable이지만 @EnableMongoRepositories로 주석 처리 된 두 개의 @Configuration 클래스를 사용하여 주석을 사용하여 동일한 결과를 얻을 수 있습니다.
@Configuration @EnableMongoRepositories(basePackages = "com.whatever.repositories.main", mongoTemplateRef = "mongoTemplate") public class MainMongoConfig { .... } @Configuration @EnableMongoRepositories(basePackages = "com.whatever.repositories.secondary", mongoTemplateRef = "mongoAppTemplate") public class SecondaryMongoConfig { .... }
@Configuration 어노테이션이 적용된 세 번째 클래스는 다른 두 클래스를 가져옵니다.
from https://stackoverflow.com/questions/31681546/configure-multiple-mongodb-repositories-with-spring-data-mongo by cc-by-sa and MIT license
'SPRING' 카테고리의 다른 글
[SPRING] 스프링 빈을 서블릿에로드한다. (0) | 2019.02.18 |
---|---|
[SPRING] Spring 데이터 Neo4j 4에서 페이징 및 정렬 (0) | 2019.02.18 |
[SPRING] Set 컬렉션의 객체 바인딩 (0) | 2019.02.18 |
[SPRING] Spring 바인딩 <Object> to Form : 체크 박스 (0) | 2019.02.18 |
[SPRING] Spring @Autowired의 동작을 재정의하는 방법 (0) | 2019.02.18 |