ProxyFactoryBean creates proxied objects. Like other JavaBeans, it has properties that control its behaviour. ProxyFactoryBean properties are: * target : The target bean of the proxy. * proxyInterface : A list of interfaces that should be implemented by the proxy. * interceptorNames : The bean names of the advice to be applied to the target. * singleton : Whether the factory should return the same instance of the proxy for each getBean invocation. * aopProxyFactory : The implemetation of the ProxyFactoryBean interface to be used. * exposeProxy : Whether the target class should have access to the current proxy. This is done by calling AopContext.getCurrentProxy. * frozen : Whether changes can be made to the proxy's advice once the factory is created. * optimize : Whether to aggressively optimize generated proxies. * proxyTargetClass : Whether to proxy the target class, rather than implementing an interface.