1
guice를 처음 사용합니다.Guice : 특정 조건에서 기본 구현으로 폴백
일부 데이터를 정의한 파일 (json 파일)이 있습니다. 이것은 선택 사항입니다. 파일이 존재하면 FileBasedImpl을 사용하여 파일에서 데이터를 읽어야합니다. 그렇지 않으면, 내가 하드 코드 된 데이터를 반환하는 "DefaultImpl"클래스에서 데이터를 가져와야합니다.
어떻게 guice 바인딩에서이 문제를 해결할 수 있습니까?
interface SomeService {
Map<String, String> getData();
}
class FileBasedImpl implements SomeService {
/* Reads from a file */
Map<String, String> getData() {
//Check if file is present, then read the data
}
}
class DefaultImpl implements SomeService {
/* Returns hard-coded data */
Map<String, String> getData() {
return new HashMap()<>..;
}
}
의 내용을 읽고 한 결과에 따라 다른 콩 제공하려고 당신은 (어느 인터페이스를 구현하거나이 모듈에 방법을 제공 추가) 공급자를 만들 수