我有以下课程:
@Component
public class SearchComponent {
}
它被注入到其他类的两个字段中:
@Autowired
private SearchComponent errorSearch;
@Autowired
private SearchComponent successSearch;
默认行为是将相同的实例注入两个字段,这种情况正在发生,但我想要的是errorSearch
和successSeach
是不同的实例。
可以这样做吗?怎么办呢?
答案 0 :(得分:2)
只需将@Scope
注释添加到组件类:
@Component
@Scope("prototype")
public class SearchComponent {
}
这样可以避免将SearchComponent
类用作 singleton (Spring bean范围的默认值),而是为每个{{1}创建一个新的类实例变量。