lookup方法注入
当singleton类型的bean引用prototype类型的bean时候,就会有问题
在这里假设A为singleton类型的bean B为prototype类型的bean A需要引用B
lookup方法注入利用了 ioc 容器复写bean的抽象方法的能力 从而返回指定名字的bean实例 原理是通过CGLIB库运行生成二进制代码。
在使用lookup方法注入时,需要在引用bean中定义一个抽象地返回被引用对象的方法
public abstract CurrentTime createCurrentTime();
在进行XML配置的时候,需要使用<lookup-method>来指定所要覆盖的方法和返回的bean
当singleton类型的bean引用prototype类型的bean时候,就会有问题
在这里假设A为singleton类型的bean B为prototype类型的bean A需要引用B
lookup方法注入利用了 ioc 容器复写bean的抽象方法的能力 从而返回指定名字的bean实例 原理是通过CGLIB库运行生成二进制代码。
在使用lookup方法注入时,需要在引用bean中定义一个抽象地返回被引用对象的方法
public abstract CurrentTime createCurrentTime();
在进行XML配置的时候,需要使用<lookup-method>来指定所要覆盖的方法和返回的bean
<lookup-method name="createCurrentTime" bean="currentTime"/>
本文深入探讨了在IoC容器中使用lookup方法注入时,singleton类型bean引用prototype类型bean所引发的问题及解决策略。重点阐述了CGLIB库在实现动态代理过程中的作用,以及如何在XML配置中正确使用<lookup-method>元素来覆盖并返回指定名字的bean实例。

被折叠的 条评论
为什么被折叠?



