3

Wicket 有这个称为惰性代理工厂的设备。鉴于:

<property name="foo" ref="beanx"/>

这个想法是自动生成一个代理来代替'beanx',然后只有在某些东西实际调用它的方法时才初始化beanx。

似乎这可能是 Spring 的核心功能。它在某个地方吗?

4

3 回答 3

3

LazyInitTargetSource;那可能会做你想做的事。不过,它也需要在目标 bean 上使用 lazy-init="true"。

于 2010-04-23T02:44:25.093 回答
0

Spring 单例 bean,最接近你想要的东西,是在初始化 spring 上下文时创建的:http: //static.springsource.org/spring/docs/2.0.x/reference/beans.html#beans-factory-scopes . 所以我相信简短的回答是“不”。不过,您可以通过非常轻松地扩展 Spring 类来实现自己的范围来执行此操作。

于 2010-03-06T02:56:43.470 回答
0

Spring会话/请求范围是使用您描述的技术实现的,但它仅用于处理范围基数之间的转换,而不是实例创建。所以 spring 使用相同的概念,但您可能必须创建自己的实现。

于 2010-03-06T06:04:57.587 回答