public class

LazyInitTargetSourceCreator

extends AbstractBeanFactoryBasedTargetSourceCreator
java.lang.Object
   ↳ org.springframework.aop.framework.autoproxy.target.AbstractBeanFactoryBasedTargetSourceCreator
     ↳ org.springframework.aop.framework.autoproxy.target.LazyInitTargetSourceCreator

Class Overview

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 initialized 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>

Summary

[Expand]
Inherited Fields
From class org.springframework.aop.framework.autoproxy.target.AbstractBeanFactoryBasedTargetSourceCreator
Public Constructors
LazyInitTargetSourceCreator()
Protected Methods
AbstractBeanFactoryBasedTargetSource createBeanFactoryBasedTargetSource(Class beanClass, String beanName)
Subclasses must implement this method to return a new AbstractPrototypeBasedTargetSource if they wish to create a custom TargetSource for this bean, or null if they are not interested it in, in which case no special target source will be created.
boolean isPrototypeBased()
Return whether this TargetSourceCreator is prototype-based.
[Expand]
Inherited Methods
From class org.springframework.aop.framework.autoproxy.target.AbstractBeanFactoryBasedTargetSourceCreator
From class java.lang.Object
From interface org.springframework.aop.framework.autoproxy.TargetSourceCreator
From interface org.springframework.beans.factory.BeanFactoryAware
From interface org.springframework.beans.factory.DisposableBean

Public Constructors

public LazyInitTargetSourceCreator ()

Protected Methods

protected AbstractBeanFactoryBasedTargetSource createBeanFactoryBasedTargetSource (Class beanClass, String beanName)

Subclasses must implement this method to return a new AbstractPrototypeBasedTargetSource if they wish to create a custom TargetSource for this bean, or null if they are not interested it in, in which case no special target source will be created. Subclasses should not call setTargetBeanName or setBeanFactory on the AbstractPrototypeBasedTargetSource: This class' implementation of getTargetSource() will do that.

Parameters
beanClass the class of the bean to create a TargetSource for
beanName the name of the bean
Returns
  • the AbstractPrototypeBasedTargetSource, or null if we don't match this

protected boolean isPrototypeBased ()

Return whether this TargetSourceCreator is prototype-based. The scope of the target bean definition will be set accordingly.

Default is "true".