类 Jsr330ScopeMetadataResolver

java.lang.Object
cn.taketoday.context.annotation.Jsr330ScopeMetadataResolver
所有已实现的接口:
ScopeMetadataResolver

public class Jsr330ScopeMetadataResolver extends Object implements ScopeMetadataResolver
Simple ScopeMetadataResolver implementation that follows JSR-330 scoping rules: defaulting to prototype scope unless Singleton is present.

This scope resolver can be used with ClassPathBeanDefinitionScanner and AnnotatedBeanDefinitionReader for standard JSR-330 compliance. However, in practice, you will typically use Framework's rich default scoping instead - or extend this resolver with custom scoping annotations that point to extended Framework scopes.

从以下版本开始:
4.0
作者:
Juergen Hoeller
另请参阅:
  • 构造器详细资料

    • Jsr330ScopeMetadataResolver

      public Jsr330ScopeMetadataResolver()
  • 方法详细资料

    • registerScope

      public final void registerScope(Class<?> annotationType, String scopeName)
      Register an extended JSR-330 scope annotation, mapping it onto a specific Frameworkscope by name.
      参数:
      annotationType - the JSR-330 annotation type as a Class
      scopeName - the Framework scope name
    • registerScope

      public final void registerScope(String annotationType, String scopeName)
      Register an extended JSR-330 scope annotation, mapping it onto a specific Framework scope by name.
      参数:
      annotationType - the JSR-330 annotation type by name
      scopeName - the Framework scope name
    • resolveScopeName

      @Nullable protected String resolveScopeName(String annotationType)
      Resolve the given annotation type into a named Framework scope.

      The default implementation simply checks against registered scopes. Can be overridden for custom mapping rules, e.g. naming conventions.

      参数:
      annotationType - the JSR-330 annotation type
      返回:
      the Framework scope name
    • resolveScopeMetadata

      public ScopeMetadata resolveScopeMetadata(BeanDefinition definition)
      从接口复制的说明: ScopeMetadataResolver
      Resolve the ScopeMetadata appropriate to the supplied bean definition.

      Implementations can of course use any strategy they like to determine the scope metadata, but some implementations that immediately to mind might be to use source level annotations present on the class of the supplied definition, or to use metadata present in the AttributeAccessor.getAttributeNames() of the supplied definition.

      指定者:
      resolveScopeMetadata 在接口中 ScopeMetadataResolver
      参数:
      definition - the target bean definition
      返回:
      the relevant scope metadata; never null