我有以下类(class):
@Component
public class SearchComponent {
}
并且它被注入(inject)到其他类中的两个字段:
@Autowired
private SearchComponent errorSearch;
@Autowired
private SearchComponent successSearch;
默认行为是将相同的实例注入(inject)两个字段,这种情况正在发生,但我想要的是 errorSearch
和 successSeach
是不同的实例。
可以这样做吗?怎么办?
最佳答案
只需将 @Scope
注释添加到您的组件类即可:
@Component
@Scope("prototype")
public class SearchComponent {
}
这将避免您的 SearchComponent
类被用作单例(Spring bean 范围的默认值),而是为每个 Autowiring
变量。
关于java - 使用 @Autowired 注入(inject)同一类型的两个不同实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25726444/