범위를 올바르게 이해했는지 확인하는 간단한 질문.Google Guice 맞춤 설정 범위
범위는 인스턴스 작성 방법 및시기를 제어하는 것으로 알고 있습니다. 이제 응용 프로그램에 클래스가 있고 두 인스턴스가 필요합니다. 각각 하나씩 다른 인스턴스에 주입됩니다.
Guice에서 각각의 인스턴스에 대해 두 개의 범위를 만들 수 있습니까? 내가 원하는대로 범위가 지정된 인스턴스를 다른 인스턴스에 주입 할 수 있습니까?
범위를 올바르게 이해했는지 확인하는 간단한 질문.Google Guice 맞춤 설정 범위
범위는 인스턴스 작성 방법 및시기를 제어하는 것으로 알고 있습니다. 이제 응용 프로그램에 클래스가 있고 두 인스턴스가 필요합니다. 각각 하나씩 다른 인스턴스에 주입됩니다.
Guice에서 각각의 인스턴스에 대해 두 개의 범위를 만들 수 있습니까? 내가 원하는대로 범위가 지정된 인스턴스를 다른 인스턴스에 주입 할 수 있습니까?
스코프 :
스코프는 객체의 라이프 사이클을 제어 할 수 있습니다.
bindScope()
범위 내역은 한 번만 가능합니다. 범위 개념은 인젝터 수준입니다. 배선 구성입니다.
여러 항목 (키)을 한 번 범위에 바인딩 할 수 있습니다.
원하는만큼 범위를 정의 할 수 있지만 각 바인딩은 하나의 범위에만있을 수 있습니다.
당신은 문제의 전체 세부 사항을 제공하지 않은,하지만 사용자 지정 범위가 정답으로 초기에 나타나는 대부분의 경우, 그것은 거의 실제로 나의 경험이다!
아마도 원하는 것은 한 유형의 두 인스턴스에 주석을 추가하는 것입니다. 뭔가 같은 :
@Inject
SomeConstructor(@First SomeService service) {
}
나 : 그 다음에 도움이되지 않는 경우
@Inject
SomeConstructor(@Second SomeService service) {
}
당신이 몇 가지 자세한 내용을 제공해야 할 수도 있습니다
bind(SomeService.class).in(First.class).to(FirstServiceImpl.class);
bind(SomeService.class).in(Second.class).to(SecondServiceImpl.class);
그런 다음 당신은 당신이 원하는 하나를 삽입 할 수 문제의