| Package | Description | 
|---|---|
| org.springframework.cache.annotation | Annotations and supporting classes for declarative cache management. | 
| org.springframework.context.annotation | Annotation support for the Application Context, including JSR-250 "common"
 annotations, component-scanning, and Java-based metadata for creating
 Spring-managed objects. | 
| org.springframework.scheduling.annotation | Java 5 annotation for asynchronous method execution. | 
| Class and Description | 
|---|
| AdviceMode Enumeration used to determine whether JDK proxy-based or
 AspectJ weaving-based advice should be applied. | 
| AdviceModeImportSelector Convenient base class for  ImportSelectorimplementations that select imports
 based on anAdviceModevalue from an annotation (such as the@Enable*annotations). | 
| Bean Indicates that a method produces a bean to be managed by the Spring container. | 
| Configuration Indicates that a class declares one or more  @Beanmethods and
 may be processed by the Spring container to generate bean definitions and
 service requests for those beans at runtime, for example:
 @Configuration
 public class AppConfig {
     @Bean
     public MyBean myBean() {
         // instantiate, configure and return bean ... | 
| Import Indicates one or more component classes to import — typically
  @Configurationclasses. | 
| ImportAware Interface to be implemented by any @ Configurationclass that wishes
 to be injected with theAnnotationMetadataof the @Configurationclass that imported it. | 
| ImportSelector Interface to be implemented by types that determine which @ Configurationclass(es) should be imported based on a given selection criteria, usually one or
 more annotation attributes. | 
| Role Indicates the 'role' hint for a given bean. | 
| Class and Description | 
|---|
| AdviceMode Enumeration used to determine whether JDK proxy-based or
 AspectJ weaving-based advice should be applied. | 
| AnnotationBeanNameGenerator BeanNameGeneratorimplementation for bean classes annotated with the@Componentannotation or
 with another annotation that is itself annotated with@Componentas a
 meta-annotation. | 
| AnnotationConfigRegistry Common interface for annotation config application contexts,
 defining  AnnotationConfigRegistry.register(java.lang.Class<?>...)andAnnotationConfigRegistry.scan(java.lang.String...)methods. | 
| Bean Indicates that a method produces a bean to be managed by the Spring container. | 
| ClassPathBeanDefinitionScanner A bean definition scanner that detects bean candidates on the classpath,
 registering corresponding bean definitions with a given registry ( BeanFactoryorApplicationContext). | 
| ClassPathScanningCandidateComponentProvider A component provider that provides candidate components from a base package. | 
| CommonAnnotationBeanPostProcessor.LookupElement Class representing generic injection information about an annotated field
 or setter method, supporting @Resource and related annotations. | 
| Condition A single  conditionthat must be matched in order
 for a component to be registered. | 
| Conditional Indicates that a component is only eligible for registration when all
 specified conditions match. | 
| ConditionContext Context information for use by  Conditions. | 
| Configuration Indicates that a class declares one or more  @Beanmethods and
 may be processed by the Spring container to generate bean definitions and
 service requests for those beans at runtime, for example:
 @Configuration
 public class AppConfig {
     @Bean
     public MyBean myBean() {
         // instantiate, configure and return bean ... | 
| ConfigurationCondition.ConfigurationPhase The various configuration phases where the condition could be evaluated. | 
| DeferredImportSelector A variation of  ImportSelectorthat runs after all@Configurationbeans
 have been processed. | 
| DeferredImportSelector.Group Interface used to group results from different import selectors. | 
| DeferredImportSelector.Group.Entry An entry that holds the  AnnotationMetadataof the importingConfigurationclass and the class name to import. | 
| EnableLoadTimeWeaving.AspectJWeaving AspectJ weaving enablement options. | 
| FilterType Enumeration of the type filters that may be used in conjunction with
  @ComponentScan. | 
| Import Indicates one or more component classes to import — typically
  @Configurationclasses. | 
| ImportAware Interface to be implemented by any @ Configurationclass that wishes
 to be injected with theAnnotationMetadataof the @Configurationclass that imported it. | 
| ImportBeanDefinitionRegistrar Interface to be implemented by types that register additional bean definitions when
 processing @ Configurationclasses. | 
| ImportSelector Interface to be implemented by types that determine which @ Configurationclass(es) should be imported based on a given selection criteria, usually one or
 more annotation attributes. | 
| LoadTimeWeavingConfigurer Interface to be implemented by
  @Configurationclasses annotated with@EnableLoadTimeWeavingthat wish to
 customize theLoadTimeWeaverinstance to be used. | 
| MBeanExportConfiguration.SpecificPlatform Specific platforms that might need custom MBean handling. | 
| Role Indicates the 'role' hint for a given bean. | 
| ScopedProxyMode Enumerates the various scoped-proxy options. | 
| ScopeMetadata Describes scope characteristics for a Spring-managed bean including the scope
 name and the scoped-proxy behavior. | 
| ScopeMetadataResolver Strategy interface for resolving the scope of bean definitions. | 
| Class and Description | 
|---|
| AdviceMode Enumeration used to determine whether JDK proxy-based or
 AspectJ weaving-based advice should be applied. | 
| AdviceModeImportSelector Convenient base class for  ImportSelectorimplementations that select imports
 based on anAdviceModevalue from an annotation (such as the@Enable*annotations). | 
| Bean Indicates that a method produces a bean to be managed by the Spring container. | 
| Configuration Indicates that a class declares one or more  @Beanmethods and
 may be processed by the Spring container to generate bean definitions and
 service requests for those beans at runtime, for example:
 @Configuration
 public class AppConfig {
     @Bean
     public MyBean myBean() {
         // instantiate, configure and return bean ... | 
| Import Indicates one or more component classes to import — typically
  @Configurationclasses. | 
| ImportAware Interface to be implemented by any @ Configurationclass that wishes
 to be injected with theAnnotationMetadataof the @Configurationclass that imported it. | 
| ImportSelector Interface to be implemented by types that determine which @ Configurationclass(es) should be imported based on a given selection criteria, usually one or
 more annotation attributes. | 
| Role Indicates the 'role' hint for a given bean. |