spring-framework / org.springframework.aop.framework.autoproxy.target / LazyInitTargetSourceCreator

LazyInitTargetSourceCreator

open class LazyInitTargetSourceCreator : AbstractBeanFactoryBasedTargetSourceCreator

TargetSourceCreator that enforces a LazyInitTargetSource for each bean that is defined as "lazy-init". This will lead to a proxy created for each of those beans, allowing to fetch a reference to such a bean without actually initializing the target bean instance.

To be registered as custom TargetSourceCreator for an auto-proxy creator, in combination with custom interceptors for specific beans or for the creation of lazy-init proxies only. For example, as autodetected infrastructure bean in an XML application context definition:

 <bean class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator"> <property name="customTargetSourceCreators"> <list> <bean class="org.springframework.aop.framework.autoproxy.target.LazyInitTargetSourceCreator"/> </list> </property> </bean> <bean id="myLazyInitBean" class="mypackage.MyBeanClass" lazy-init="true"> ... </bean>

Author
Juergen Hoeller

Since
1.2

See Also
org.springframework.beans.factory.config.BeanDefinition#isLazyInitorg.springframework.aop.framework.autoproxy.AbstractAutoProxyCreator#setCustomTargetSourceCreatorsorg.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator

Constructors

<init>

LazyInitTargetSourceCreator()

TargetSourceCreator that enforces a LazyInitTargetSource for each bean that is defined as "lazy-init". This will lead to a proxy created for each of those beans, allowing to fetch a reference to such a bean without actually initializing the target bean instance.

To be registered as custom TargetSourceCreator for an auto-proxy creator, in combination with custom interceptors for specific beans or for the creation of lazy-init proxies only. For example, as autodetected infrastructure bean in an XML application context definition:

 <bean class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator"> <property name="customTargetSourceCreators"> <list> <bean class="org.springframework.aop.framework.autoproxy.target.LazyInitTargetSourceCreator"/> </list> </property> </bean> <bean id="myLazyInitBean" class="mypackage.MyBeanClass" lazy-init="true"> ... </bean>

Inherited Functions

destroy

open fun destroy(): Unit

Destroys the internal BeanFactory on shutdown of the TargetSourceCreator.

getTargetSource

fun getTargetSource(beanClass: Class<*>, beanName: String): TargetSource

setBeanFactory

fun setBeanFactory(beanFactory: BeanFactory): Unit