我有一堂课
public class Test {
@Autowired
private Testing abc;
public Testing getTesting() {
return abc;
}
}
@Component
@Scope(BeanDefinition.SCOPE_PROTOTYPE)
public class Testing {
private int i;
}
每次我使用支持自动装配的 bean 工厂手动创建类 Test 时,我都希望创建一个测试实例。
然而今天我被介绍了一个新概念 javax.inject.Provider
public class Test {
@Autowired
private Provider<Testing> abc;
public Testing getTesting() {
return abc.get();
}
}
@Component
@Scope(BeanDefinition.SCOPE_PROTOTYPE)
public class Testing {
private int i;
//transactional methods
}
它提供了什么好处?