org.springframework.context.annotation
Class AnnotationConfigUtils

java.lang.Object
  extended by org.springframework.context.annotation.AnnotationConfigUtils

public class AnnotationConfigUtils
extends java.lang.Object

Utility class that allows for convenient registration of common BeanPostProcessor and BeanFactoryPostProcessor definitions for annotation-based configuration.

Since:
2.5
Author:
Mark Fisher, Juergen Hoeller, Chris Beams
See Also:
CommonAnnotationBeanPostProcessor, org.springframework.context.annotation.support.ConfigurationClassPostProcessor;, AutowiredAnnotationBeanPostProcessor, RequiredAnnotationBeanPostProcessor, PersistenceAnnotationBeanPostProcessor

Field Summary
static java.lang.String AUTOWIRED_ANNOTATION_PROCESSOR_BEAN_NAME
          The bean name of the internally managed Autowired annotation processor.
static java.lang.String COMMON_ANNOTATION_PROCESSOR_BEAN_NAME
          The bean name of the internally managed JSR-250 annotation processor.
static java.lang.String CONFIGURATION_ANNOTATION_PROCESSOR_BEAN_NAME
          The bean name of the internally managed Configuration annotation processor.
private static boolean jpaPresent
           
private static boolean jsr250Present
           
static java.lang.String PERSISTENCE_ANNOTATION_PROCESSOR_BEAN_NAME
          The bean name of the internally managed JPA annotation processor.
private static java.lang.String PERSISTENCE_ANNOTATION_PROCESSOR_CLASS_NAME
           
static java.lang.String REQUIRED_ANNOTATION_PROCESSOR_BEAN_NAME
          The bean name of the internally managed Required annotation processor.
 
Constructor Summary
AnnotationConfigUtils()
           
 
Method Summary
(package private) static BeanDefinitionHolder applyScopedProxyMode(ScopeMetadata metadata, BeanDefinitionHolder definition, BeanDefinitionRegistry registry)
           
(package private) static void processCommonDefinitionAnnotations(AnnotatedBeanDefinition abd)
           
static void registerAnnotationConfigProcessors(BeanDefinitionRegistry registry)
          Register all relevant annotation post processors in the given registry.
static java.util.Set<BeanDefinitionHolder> registerAnnotationConfigProcessors(BeanDefinitionRegistry registry, java.lang.Object source)
          Register all relevant annotation post processors in the given registry.
private static BeanDefinitionHolder registerPostProcessor(BeanDefinitionRegistry registry, RootBeanDefinition definition, java.lang.String beanName)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

CONFIGURATION_ANNOTATION_PROCESSOR_BEAN_NAME

public static final java.lang.String CONFIGURATION_ANNOTATION_PROCESSOR_BEAN_NAME
The bean name of the internally managed Configuration annotation processor.

See Also:
Constant Field Values

AUTOWIRED_ANNOTATION_PROCESSOR_BEAN_NAME

public static final java.lang.String AUTOWIRED_ANNOTATION_PROCESSOR_BEAN_NAME
The bean name of the internally managed Autowired annotation processor.

See Also:
Constant Field Values

REQUIRED_ANNOTATION_PROCESSOR_BEAN_NAME

public static final java.lang.String REQUIRED_ANNOTATION_PROCESSOR_BEAN_NAME
The bean name of the internally managed Required annotation processor.

See Also:
Constant Field Values

COMMON_ANNOTATION_PROCESSOR_BEAN_NAME

public static final java.lang.String COMMON_ANNOTATION_PROCESSOR_BEAN_NAME
The bean name of the internally managed JSR-250 annotation processor.

See Also:
Constant Field Values

PERSISTENCE_ANNOTATION_PROCESSOR_BEAN_NAME

public static final java.lang.String PERSISTENCE_ANNOTATION_PROCESSOR_BEAN_NAME
The bean name of the internally managed JPA annotation processor.

See Also:
Constant Field Values

PERSISTENCE_ANNOTATION_PROCESSOR_CLASS_NAME

private static final java.lang.String PERSISTENCE_ANNOTATION_PROCESSOR_CLASS_NAME
See Also:
Constant Field Values

jsr250Present

private static final boolean jsr250Present

jpaPresent

private static final boolean jpaPresent
Constructor Detail

AnnotationConfigUtils

public AnnotationConfigUtils()
Method Detail

registerAnnotationConfigProcessors

public static void registerAnnotationConfigProcessors(BeanDefinitionRegistry registry)
Register all relevant annotation post processors in the given registry.

Parameters:
registry - the registry to operate on

registerAnnotationConfigProcessors

public static java.util.Set<BeanDefinitionHolder> registerAnnotationConfigProcessors(BeanDefinitionRegistry registry,
                                                                                     java.lang.Object source)
Register all relevant annotation post processors in the given registry.

Parameters:
registry - the registry to operate on
source - the configuration source element (already extracted) that this registration was triggered from. May be null.
Returns:
a Set of BeanDefinitionHolders, containing all bean definitions that have actually been registered by this call

registerPostProcessor

private static BeanDefinitionHolder registerPostProcessor(BeanDefinitionRegistry registry,
                                                          RootBeanDefinition definition,
                                                          java.lang.String beanName)

processCommonDefinitionAnnotations

static void processCommonDefinitionAnnotations(AnnotatedBeanDefinition abd)

applyScopedProxyMode

static BeanDefinitionHolder applyScopedProxyMode(ScopeMetadata metadata,
                                                 BeanDefinitionHolder definition,
                                                 BeanDefinitionRegistry registry)