Есть ли весной фабрика ленивых прокси в Spring? - PullRequest
3 голосов
/ 06 марта 2010

У Wicket это устройство называется ленивой прокси-фабрикой. Дано:

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

Идея состоит в том, чтобы автоматически генерировать прокси вместо beanx, а затем инициализировать beanx только в том случае, если что-то действительно вызывает метод.

Кажется, что это может быть основной возможностью Spring. Это где-то есть?

Ответы [ 3 ]

3 голосов
/ 23 апреля 2010

См. LazyInitTargetSource ; это может делать то, что вы хотите. Это требует использования lazy-init = "true" также и для целевого компонента.

0 голосов
/ 06 марта 2010

Весенняя область сеанса / запроса реализуется с использованием описанной вами техники, но она предназначена только для обработки переходов между кардинальными областями области, а не создания экземпляра.Поэтому Spring использует те же концепции, но вам, вероятно, придется создать собственную реализацию.

0 голосов
/ 06 марта 2010

Синглтон-бины Spring, наиболее близкие к тому, что вам нужно, создаются при инициализации контекста Spring: http://static.springsource.org/spring/docs/2.0.x/reference/beans.html#beans-factory-scopes. Поэтому я считаю, что короткий ответ - «нет».Для этого вы можете реализовать собственную область видимости, довольно легко расширяя классы Spring.

...