@Autowired private Count count;
创建一个看起来像count实例的代理,因此也有一个
i字段。但是由于代理不是真实的东西,因此
Count不会调用构造函数,并且该构造函数
i仍未初始化。这就是为什么你总是得到
null。
现在让我们介绍一个吸气剂:
class Count { ... public Integer getI() { return i; }
调用
getI()代理时,首先检查
Count当前会话是否有Bean
的实例。如果没有,则创建一个。这也意味着将
Count调用构造函数,并且
i现在将其初始化。然后,代理将调用委托给
getI()将返回值的Bean
i。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)