В the official document, я прочитал статью о Провайдерах для ленивой загрузки. Однако я не могу понять, почему этот ниже код означает задержку создания провайдера, потому что я не могу найти какую-либо аннотацию или какой-либо код, который соответствует ленивой загрузке. И код - это код.Провайдеры для ленивых погрузчиков в 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();
}
}
Где мы видим в мире особую точку, которая вызывает задержку загрузки?
Обычно, когда зависимость выполняется, создается необходимый объект. Для Провайдеров необходимый объект не создается до тех пор, пока не будет вызвано 'get()', что может быть намного позже. –