Class ScopedProxyUtils

java.lang.Object
org.springframework.aop.scope.ScopedProxyUtils

public abstract class ScopedProxyUtils extends Object
Utility class for creating a scoped proxy.

Used by ScopedProxyBeanDefinitionDecorator and ClassPathBeanDefinitionScanner.

Since:
2.5
Author:
Mark Fisher, Juergen Hoeller, Rob Harrop, Sam Brannen
  • Constructor Details

    • ScopedProxyUtils

      public ScopedProxyUtils()
  • Method Details

    • createScopedProxy

      public static BeanDefinitionHolder createScopedProxy(BeanDefinitionHolder definition, BeanDefinitionRegistry registry, boolean proxyTargetClass)
      Generate a scoped proxy for the supplied target bean, registering the target bean with an internal name and setting 'targetBeanName' on the scoped proxy.
      Parameters:
      definition - the original bean definition
      registry - the bean definition registry
      proxyTargetClass - whether to create a target class proxy
      Returns:
      the scoped proxy definition
      See Also:
    • getTargetBeanName

      public static String getTargetBeanName(String originalBeanName)
      Generate the bean name that is used within the scoped proxy to reference the target bean.
      Parameters:
      originalBeanName - the original name of bean
      Returns:
      the generated bean to be used to reference the target bean
      See Also:
    • getOriginalBeanName

      public static String getOriginalBeanName(@Nullable String targetBeanName)
      Get the original bean name for the provided target bean name.
      Parameters:
      targetBeanName - the target bean name for the scoped proxy
      Returns:
      the original bean name
      Throws:
      IllegalArgumentException - if the supplied bean name does not refer to the target of a scoped proxy
      Since:
      5.1.10
      See Also:
    • isScopedTarget

      public static boolean isScopedTarget(@Nullable String beanName)
      Determine if the beanName is the name of a bean that references the target bean within a scoped proxy.
      Since:
      4.1.4