the official document에서 나는 게으른 로딩을위한 Providers에 대한 기사를 읽었습니다. 그러나이 코드가 왜 게으른 로딩에 해당하는 주석이나 코드를 찾을 수 없기 때문에이 코드가 공급자 생성 지연을 의미하는지 이해할 수 없습니다. 그리고 코드는이 코드입니다.Guice에서 느린 로딩을 제공하는 자
public class DatabaseTransactionLog implements TransactionLog {
private final Provider<Connection> connectionProvider;
@Inject
public DatabaseTransactionLog(Provider<Connection> connectionProvider) {
this.connectionProvider = connectionProvider;
}
public void logChargeResult(ChargeResult result) {
/* only write failed charges to the database */
if (!result.wasSuccessful()) {
Connection connection = connectionProvider.get();
}
}
세계에서 로딩이 지연되는 특수한 점을 어디에서 볼 수 있습니까?
일반적으로 종속성이 충족되면 필요한 개체가 만들어집니다. Providers의 경우, 필요한 객체는'get()'이 호출 될 때까지 생성되지 않습니다. –