Guice: различия между Singleton.class и @Singleton

В Guice, чтоРазница между:

// Inside your AbstractModule subclass:
@Override
public void configure() {
    bind(Service.class).to(ServiceImpl.class).in(Singleton.class);
}

А также:

@Override
public void configure() {
    bind(Service.class).to(ServiceImpl.class);
}

@Provides @Singleton
public ServiceImpl providesService() {
    return new ServiceImpl();
}

Они оба одинаковые? Когда бы вы использовали один против другого? Заранее спасибо.

Ответы на вопрос(1)

Ваш ответ на вопрос