Save This Page
Home » spring-framework-2.5.5-with-dependencies » org.springframework » aop » framework » [javadoc | source]
org.springframework.aop.framework
abstract public class: AbstractSingletonProxyFactoryBean [javadoc | source]
java.lang.Object
   org.springframework.aop.framework.ProxyConfig
      org.springframework.aop.framework.AbstractSingletonProxyFactoryBean

All Implemented Interfaces:
    BeanClassLoaderAware, InitializingBean, FactoryBean, Serializable

Direct Known Subclasses:
    TransactionProxyFactoryBean

Convenient proxy factory bean superclass for proxy factory beans that create only singletons.

Manages pre- and post-interceptors (references, rather than interceptor names, as in ProxyFactoryBean ) and provides consistent interface management.

Fields inherited from org.springframework.aop.framework.ProxyConfig:
opaque,  exposeProxy
Method from org.springframework.aop.framework.AbstractSingletonProxyFactoryBean Summary:
afterPropertiesSet,   createMainInterceptor,   createTargetSource,   getObject,   getObjectType,   getProxy,   isSingleton,   setAdvisorAdapterRegistry,   setBeanClassLoader,   setPostInterceptors,   setPreInterceptors,   setProxyClassLoader,   setProxyInterfaces,   setTarget
Methods from org.springframework.aop.framework.ProxyConfig:
copyFrom,   isExposeProxy,   isFrozen,   isOpaque,   isOptimize,   isProxyTargetClass,   setExposeProxy,   setFrozen,   setOpaque,   setOptimize,   setProxyTargetClass,   toString
Methods from java.lang.Object:
equals,   getClass,   hashCode,   notify,   notifyAll,   toString,   wait,   wait,   wait
Method from org.springframework.aop.framework.AbstractSingletonProxyFactoryBean Detail:
 public  void afterPropertiesSet() 
 abstract protected Object createMainInterceptor()
    Create the "main" interceptor for this proxy factory bean. Typically an Advisor, but can also be any type of Advice.

    Pre-interceptors will be applied before, post-interceptors will be applied after this interceptor.

 protected TargetSource createTargetSource(Object target) 
    Determine a TargetSource for the given target (or TargetSource).
 public Object getObject() 
 public Class getObjectType() 
 protected Object getProxy(AopProxy aopProxy) 
    Return the proxy object to expose.

    The default implementation uses a getProxy call with the factory's bean class loader. Can be overridden to specify a custom class loader.

 public final boolean isSingleton() 
 public  void setAdvisorAdapterRegistry(AdvisorAdapterRegistry advisorAdapterRegistry) 
    Specify the AdvisorAdapterRegistry to use. Default is the global AdvisorAdapterRegistry.
 public  void setBeanClassLoader(ClassLoader classLoader) 
 public  void setPostInterceptors(Object[] postInterceptors) 
    Set additional interceptors (or advisors) to be applied after the implicit transaction interceptor, e.g. HibernateInterceptors for eagerly binding Sessions to the current thread when using JTA.

    Note that this is just necessary if you rely on those interceptors in general: HibernateTemplate and JdoTemplate work nicely with JtaTransactionManager through implicit on-demand thread binding.

 public  void setPreInterceptors(Object[] preInterceptors) 
    Set additional interceptors (or advisors) to be applied before the implicit transaction interceptor, e.g. PerformanceMonitorInterceptor.
 public  void setProxyClassLoader(ClassLoader classLoader) 
    Set the ClassLoader to generate the proxy class in.

    Default is the bean ClassLoader, i.e. the ClassLoader used by the containing BeanFactory for loading all bean classes. This can be overridden here for specific proxies.

 public  void setProxyInterfaces(Class[] proxyInterfaces) 
    Specify the set of interfaces being proxied.

    If not specified (the default), the AOP infrastructure works out which interfaces need proxying by analyzing the target, proxying all the interfaces that the target object implements.

 public  void setTarget(Object target) 
    Set the target object, that is, the bean to be wrapped with a transactional proxy.

    The target may be any object, in which case a SingletonTargetSource will be created. If it is a TargetSource, no wrapper TargetSource is created: This enables the use of a pooling or prototype TargetSource etc.