因此,假设地说,如果我有一个对象,可以说这是我想从服务BUT发送回的异常响应,仅当抛出异常时才这样做,因为如果一切正常,我将回传另一只动物。我如何从Spring那里获得它……但仅在需要时才能获得?换句话说,如何避免注入不需要的对象以及不确定是否会注入的对象?如何使用Spring进行延迟加载?
答案 0 :(得分:1)
有两种可能性:
var newCustomer = aCustomer(name:"William", age:40, startDate:Date(), meals:[], market:1)
(在bean定义+ @Lazy
或ObjectFactory
上或在注入点上)Provider
+注入点上的@Lazy
示例#2
@Lazy
第一次调用方法@Service
@Lazy
class LazyService {
LazyService() {
System.out.println("service");
}
String bar() {
System.out.println("bar");
return "bar";
}
}
@RestController
class Controller {
private final LazyService service;
Controller(@Lazy LazyService service) {
this.service = service;
System.out.println("controller");
}
@GetMapping("/")
String foo() {
System.out.println("foo");
return service.bar();
}
}
时,实例化 LazyService
。