Я хочу перевести следующую конфигурацию DI на основе Guice в DI на основе Spring Java-config.
public class UserModule extends AbstractModule {
private final User user;
public UserModule(User user) {
this.user = user;
}
@Override
protected void configure() {
// don't need to do any configuration
}
@Provides @Singleton
User provideUser() {
return user;
}
@Provides @Singleton @Inject
UserStorageService provideUserStorageService(User u) {
return new UserStorageServiceImpl(u);
}
}
Тогда предполагаемое использование
Injector userOneInjector = Guice.createInjector(new UserModule(userOne));
Injector userTwoInjector = Guice.createInjector(new UserModule(userTwo));
К сожалению, Spring AnnotationConfigApplicationContext принимает класс конфигурации, а не объект, поэтому я не уверен, как внедрить объект User в его конфигурацию.