-1
로하지 바인딩 나는 다음과 같은 생성자를 가지고Guice는 @Named 주석
@Inject
public MyClass(Provider<TestClass> testProvider, @Named("myName") String name) {
//constructor stuff
}
내 모듈 :
@Provides
@Named("myName")
public String getName(SomeObject object) {
return object.getName();
}
문제는 Guice 바인딩하지 않는다는 것입니다.
이제 @Named
주석을 제거하면 작동합니다. getName()
메서드가 성공적으로 호출되었습니다.@Named
주석을 추가 할 때 getName()
은 호출되지 않으며, 생성자가 빈 문자열로 주입됩니다. @Provides
주석 내 방법
하나는 String
반환하지만 난 여전히 String
가 주입 될 수있는 매우 일반적인 객체이기 때문에 그 이름을 싶습니다. ?.
나는 또한 내가 아무 소용 문서를 체크 설명서를 따라합니다 (configure()
방법 내에서 결합,하지만 여전히 아무것도
누구든지 내가 부족 알고 시도
편집 할 수 있습니다. : 내 수입은 나를 위해 올바른
코드는 완벽하게 합리적인 것처럼 보입니다. 'Named '를 올바르게 사용하고 있습니다. 부실 빌드 아티팩트 또는 저장하지 않은 파일의 경우가 아니라는 것을 100 % 확신합니까? –
'Named'주석 가져 오기를 두 번 확인하십시오. –
이들은 나의 수입품이다 : 'import com.google.inject.name.Named;' 아주 이상하다. 더 많은 문제 해결을 시도 할 것입니다. 어쩌면 내 환경에 문제가있는 것 같습니다. – Tiberiu