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 an autodetected
infrastructure bean in an XML application context definition:
<bean class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator">
<property name="beanNames" value="*" /> <!-- apply to all beans -->
<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>
org.springframework.beans.factory.config.BeanDefinition#isLazyInit , org.springframework.aop.framework.autoproxy.AbstractAutoProxyCreator#setCustomTargetSourceCreators , org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator
| Access | Constructor and Description |
|---|---|
| public |
| Modifier and Type | Method and Description |
|---|---|
| protected AbstractBeanFactoryBasedTargetSource | createBeanFactoryBasedTargetSource(Class<?>
the class of the bean to create a TargetSource for beanClass, String the name of the bean beanName)Implements abstract org. null if they are
not interested it in, in which case no special target source will be created.
|
| protected boolean | isPrototypeBased()
Return whether this TargetSourceCreator is prototype-based.
|
| LazyInitTargetSourceCreator | back to summary |
|---|---|
| public LazyInitTargetSourceCreator() | |
| createBeanFactoryBasedTargetSource | back to summary |
|---|---|
| protected AbstractBeanFactoryBasedTargetSource createBeanFactoryBasedTargetSource(Class<?> beanClass, String beanName) Implements abstract org. Subclasses must implement this method to return a new AbstractPrototypeBasedTargetSource
if they wish to create a custom TargetSource for this bean, or
| |
| isPrototypeBased | back to summary |
|---|---|
| protected boolean isPrototypeBased() Return whether this TargetSourceCreator is prototype-based. The scope of the target bean definition will be set accordingly. Default is "true".
| |