该接口可以获取多例,而不是单例,需要配合​​@Scope(value = "prototype")​​​使用,下面的代码设置了​​OrderService​​​为多例,但是每次发送​​/aaa​​请求的时候依然是单例

@Service
@Scope(value = "prototype")
public class OrderService {

}
@RestController
public class OrderController {
@Resource
private OrderService orderService;

@GetMapping("aaa")
public void aaa() {
// 每次都是打印出相同对象
System.out.println(orderService);
}
}

要想使用多例,应该使用ObjectFactory接口,代码如下

@RestController
public class OrderController {
@Resource
private ObjectFactory<OrderService> os;

@GetMapping("aaa")
public void aaa() {
// 每次调用getObject打印出的对象都是不一样的
System.out.println(os.getObject());
System.out.println(os.getObject());
}
}