类 LazyInitTargetSource
java.lang.Object
cn.taketoday.aop.target.AbstractBeanFactoryTargetSource
cn.taketoday.aop.target.LazyInitTargetSource
- 所有已实现的接口:
TargetClassAware,TargetSource,Aware,BeanFactoryAware,Serializable
TargetSource that lazily accesses a
singleton bean from a BeanFactory.
Useful when a proxy reference is needed on initialization but
the actual target object should not be initialized until first use.
When the target bean is defined in an
cn.taketoday.context.ApplicationContext (or a
BeanFactory that is eagerly pre-instantiating singleton beans)
it must be marked as "lazy-init" too, else it will be instantiated by said
ApplicationContext (or BeanFactory) on startup.
For example:
<bean id="serviceTarget" class="example.MyService" lazy-init="true">
...
</bean>
<bean id="service" class="cn.taketoday.aop.framework.ProxyFactoryBean">
<property name="targetSource">
<bean class="cn.taketoday.aop.target.LazyInitTargetSource">
<property name="targetBeanName"><idref local="serviceTarget"/></property>
</bean>
</property>
</bean>
The "serviceTarget" bean will not get initialized until a method on the
"service" proxy gets invoked.
Subclasses can extend this class and override the postProcessTargetObject(Object) to
perform some additional processing with the target object when it is first loaded.
- 从以下版本开始:
- 4.0
- 作者:
- Juergen Hoeller, Rob Harrop
- 另请参阅:
-
字段概要
从类继承的字段 cn.taketoday.aop.target.AbstractBeanFactoryTargetSource
logger -
构造器概要
构造器 -
方法概要
修饰符和类型方法说明Return a target instance.protected voidpostProcessTargetObject(Object targetObject) Subclasses may override this method to perform additional processing on the target object when it is first loaded.从类继承的方法 cn.taketoday.aop.target.AbstractBeanFactoryTargetSource
copyFrom, equals, getBeanFactory, getTargetBeanName, getTargetClass, hashCode, isStatic, releaseTarget, setBeanFactory, setTargetBeanName, setTargetClass, toString
-
构造器详细资料
-
LazyInitTargetSource
public LazyInitTargetSource()
-
-
方法详细资料
-
getTarget
从接口复制的说明:TargetSourceReturn a target instance. Invoked immediately before the AOP framework calls the "target" of an AOP method invocation.- 返回:
- the target object which contains the join-point,
or
nullif there is no actual target instance - 抛出:
BeansException
-
postProcessTargetObject
Subclasses may override this method to perform additional processing on the target object when it is first loaded.- 参数:
targetObject- the target object that has just been instantiated (and configured)
-