【发布时间】:2018-10-16 05:50:31
【问题描述】:
我是依赖注入的新手,最近不得不学习 Spring 和 Guice。下面的问题可能很蹩脚。
Spring 允许您使用 @Scope("prototype") 注释创建原型对象,这意味着每次都会返回一个新对象
例如在我的弹簧容器中:-
@Scope("prototype")
@Bean
A getA(){
return new A();
}
并且在@autowired的所有引用中都注入了一个新对象A。
class B {
@Autowired
A objA;
}
但是,在 guice 注入器中,正在注入相同的实例。看起来 guice 只提供单例、请求或会话范围 https://github.com/google/guice/wiki/Scopes。我的应用程序并不完全是一个 Web 服务,我想知道如何在各处注入对象的新实例。我读过可以使用提供程序,但找不到任何蹩脚/容易理解的例子。
如何将 A 的新实例注入 B 或任何其他类?使用 Guice,目前我只能在 guice 容器中注入以下所有类的相同实例
bind(A.Class).toInstance(new A());
new B(); // or create with other ways
【问题讨论】:
标签: dependency-injection guice