Guice: diferencias entre Singleton.class y @Singleton
En Guice, ¿cuál es la diferencia entre:
// Inside your AbstractModule subclass:
@Override
public void configure() {
bind(Service.class).to(ServiceImpl.class).in(Singleton.class);
}
Y:
@Override
public void configure() {
bind(Service.class).to(ServiceImpl.class);
}
@Provides @Singleton
public ServiceImpl providesService() {
return new ServiceImpl();
}
¿Son los dos iguales? ¿Cuándo usarías uno contra el otro? Gracias por adelantado.