Например, предположим, что у меня есть модуль Google Guice, который выглядит так:
Код: Выделить всё
public class BillingModule extends AbstractModule {
protected void configure() {
bind(BillingService.class).to(RealBillingService.class);
}
}
Я думаю, что один из способов использования класса конфигурации Java Spring выглядит примерно так
Код: Выделить всё
@Configuration
public class BillingConfiguration {
@Bean
public BillingService getRealBillingService() {
return new RealBillingService();
}
}
Мне очень нравится Google Guice и то, как он осуществляет внедрение зависимостей, но это, пожалуй, все, что он делает. Spring делает гораздо больше (да, его механизм внедрения зависимостей все еще не так хорош, как Guice), но, несомненно, есть несколько замечательных проектов, которые мы хотели бы использовать, таких как Spring Data, Spring Data REST и т. д., которые устраняют необходимость написания тонны шаблонного кода.