속성 파일이 있는데 서비스에 속성을 삽입하고 싶습니다.단검 : 생성자에 명명 된 문자열 삽입
이 같은 DI에 대한 생성자 메서드를 사용 싶습니다
@Inject
public ScanService(@Named("stocks.codes") String codes, IYahooService yahooService) {
this.yahooService = yahooService;
this.codes = codes;
}
내가이 링크 =>Dagger: Inject @Named strings?
@Provides
@Named("stocks.code")
public String providesStocksCode() {
return "test";
}
에 그리고의 제공 방법에 대해 지정된 같은 모듈을하려고 내 서비스 :
@Provides
@Singleton
public IScanService provideScanService(String codes, IYahooService yahooService){
return new ScanService(codes, yahooService);
}
컴파일을 실행할 때이 오류가 발생합니다 :
[ERROR] /Users/stocks/src/main/java/net/modules/TestModule.java:[22,7] error: No injectable members on java.lang.String. Do you want to add an injectable constructor? required by provideScanService(java.lang.String,net.IYahooService) for net.modules.TestModule
생성자에 내 등록 정보를 올바르게 삽입하려면 어떻게해야합니까?
감사합니다.
:(덕분에 많은 생성자에 주입해야합니다. I를 @ Named에서 나쁜 이름을 보지 못했습니다.이 나쁜 질문에 대해 사과드립니다. – Kiva