0

내 도메인 객체에 저장소 (MongoRepository)를 주입하려고하고 있는데이 link의 지침을 따르고 있지만 올바르게 이해할 수없는 것 같습니다. 누구든지 전에 이것을 했습니까? 스프링 데이터 몽고를 사용하고 있습니다.MongoRepository를 도메인 객체에 삽입

+0

리포지토리를 도메인 개체에 삽입하지 마십시오. 대신 도메인 객체를 저장소로 보냅니다. – MikeSW

+0

나는 이해하지 못한다. 마이크. 그것은 당신의 해결책입니까? 도메인 기반 디자인 패턴을 적용하려고하고 있으며 Spring 데이터 저장소 (JPA 또는 Mongo)를 사용하려고합니다. – Reza

+0

DDD 패턴이 아니라 사고 방식입니다. 어쨌든, 도메인 객체는 그것의 책임이 아니기 때문에 저장소에 대한 지식이 없어야합니다. 앱은 리포지토리를 사용하여 도메인 개체를 저장 /로드합니다. 당신은 해결책을 원하지만 잘못된 문제를 원한다. – MikeSW

답변

0

불필요한 오버 헤드 (AOP 사용)라고 생각합니다. 일반 Java로 해결할 수 있습니다. 저장소 클래스를 사용하여 개체를 만들고 내부에서 자동 삽입을 수행 할 수 있습니다. 인수로 저장소를받는 생성자와 함께 "MyBusinessClass을"Considerating

public class MyBusinessRepository { 

public MyBusinessClass create() { 
    return new MyBusinessClass(this); 
} 

... 

} 

: 샘플에 대한

.

어쨌든 이 실제로 인 경우 오류 메시지를 표시하십시오.

+0

DDD 방식으로는이 작업을 수행하지 마십시오. 위의 주석에서 설명한 것처럼 도메인 객체는 저장소에 대한 참조 또는 종속성을 갖지 않습니다. 또한 리포지토리는 새 인스턴스를 만드는 데 사용되지 않으며 공장도 책임을집니다. 그리고 위에서 설명한 것처럼 Inform of In Control (IoC) 도구를 사용하여 참조를 하드 코딩하지 않고 종속성을 관리하는 것이 좋습니다. – SonOfPirate

관련 문제