Guice: Unterschiede zwischen Singleton.class und @Singleton
Was ist in Guice der Unterschied zwischen:
// Inside your AbstractModule subclass:
@Override
public void configure() {
bind(Service.class).to(ServiceImpl.class).in(Singleton.class);
}
Und:
@Override
public void configure() {
bind(Service.class).to(ServiceImpl.class);
}
@Provides @Singleton
public ServiceImpl providesService() {
return new ServiceImpl();
}
Sind sie beide gleich? Wann würdest du eins gegen das andere benutzen? Danke im Voraus.