【发布时间】:2012-03-15 05:14:23
【问题描述】:
我想将以下基于 Guice 的 DI 配置转换为基于 Spring Java-config 的 DI。
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 对象注入到其配置中。
【问题讨论】:
标签: java spring dependency-injection guice