[英]Java Guice: If you inject the same dependency multiple times, is the same instance of that dependency injected?
我有一个Java jersey 2.x项目,使用Guice作为我的依赖项注入框架。 我有这项服务
public class AccountService {
private final AccountRepository accountRepository;
@Inject
public AccountService(InMemoryAccountRepositoryImpl inMemoryAccountRepositoryImpl) {
this.accountRepository = inMemoryAccountRepositoryImpl;
}
假设我创建了另一个服务类,它也注入了InMemoryAccountRepositoryImpl
,是否会注入相同的实例? 对我来说很重要,因为此实例的内部状态需要保持一致。
默认情况下,Guice每次提供值都会返回一个新实例。 可通过范围配置此行为。 范围使您可以重用实例:在应用程序(@Singleton),会话(@SessionScoped)或请求(@RequestScoped)的生存期内。 Guice包含一个Servlet扩展,它定义了Web应用程序的范围。 可以为其他类型的应用程序编写自定义范围。
有关更多信息,请参见文档
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.