# Uses of Package
org.springframework.context.annotation

Packages that use org.springframework.context.annotation
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
Annotation support for asynchronous method execution.

Classes in org.springframework.context.annotation used by org.springframework.cache.annotation
Class
Description
AdviceMode
Enumeration used to determine whether JDK proxy-based or AspectJ weaving-based advice should be applied.
AdviceModeImportSelector
Convenient base class for `ImportSelector` implementations that select imports based on an `AdviceMode` value 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 `@Bean` methods and may be processed by the Spring container to generate bean definitions and service requests for those beans at runtime, for example:
Import
Indicates one or more component classes to import — typically `@Configuration` classes.
ImportAware
Interface to be implemented by any @`Configuration` class that wishes to be injected with the `AnnotationMetadata` of the @`Configuration` class that imported it.
ImportSelector
Interface to be implemented by types that determine which @`Configuration` class(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.
Classes in org.springframework.context.annotation used by org.springframework.context.annotation
Class
Description
AdviceMode
Enumeration used to determine whether JDK proxy-based or AspectJ weaving-based advice should be applied.
AnnotationBeanNameGenerator
`BeanNameGenerator` implementation for bean classes annotated with the `@Component` annotation or with another annotation that is itself annotated with `@Component` as a meta-annotation.
AnnotationConfigRegistry
Common interface for annotation config application contexts, defining `AnnotationConfigRegistry.register(java.lang.Class<?>...)` and `AnnotationConfigRegistry.scan(java.lang.String...)` methods.
Bean
Indicates that a method produces a bean to be managed by the Spring container.
Bean.Bootstrap
Local enumeration for the bootstrap mode.
ClassPathBeanDefinitionScanner
A bean definition scanner that detects bean candidates on the classpath, registering corresponding bean definitions with a given registry (`BeanFactory` or `ApplicationContext`).
ClassPathScanningCandidateComponentProvider
A component provider that scans for candidate components starting from a specified base package.
CommonAnnotationBeanPostProcessor.LookupElement
Class representing generic injection information about an annotated field or setter method, supporting @Resource and related annotations.
Condition
A single condition that 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 `Condition` implementations.
Configuration
Indicates that a class declares one or more `@Bean` methods and may be processed by the Spring container to generate bean definitions and service requests for those beans at runtime, for example:
ConfigurationCondition.ConfigurationPhase
The various configuration phases where the condition could be evaluated.
DeferredImportSelector
A variation of `ImportSelector` that runs after all `@Configuration` beans have been processed.
DeferredImportSelector.Group
Interface used to group results from different import selectors.
DeferredImportSelector.Group.Entry
An entry that holds the `AnnotationMetadata` of the importing `Configuration` class 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`.
FullyQualifiedAnnotationBeanNameGenerator
An extension of `AnnotationBeanNameGenerator` that uses the fully qualified class name as the default bean name if an explicit bean name is not supplied via a supported type-level annotation such as `@Component` (see `AnnotationBeanNameGenerator` for details on supported annotations).
Import
Indicates one or more component classes to import — typically `@Configuration` classes.
ImportAware
Interface to be implemented by any @`Configuration` class that wishes to be injected with the `AnnotationMetadata` of the @`Configuration` class that imported it.
ImportBeanDefinitionRegistrar
Interface to be implemented by types that register additional bean definitions when processing @`Configuration` classes.
ImportSelector
Interface to be implemented by types that determine which @`Configuration` class(es) should be imported based on a given selection criteria, usually one or more annotation attributes.
LoadTimeWeavingConfigurer
Interface to be implemented by `@Configuration` classes annotated with `@EnableLoadTimeWeaving` that wish to customize the `LoadTimeWeaver` instance to be used.
ResourceElementResolver
Resolver for the injection of named beans on a field or method element, following the rules of the `Resource` annotation but without any JNDI support.
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.
Classes in org.springframework.context.annotation used by org.springframework.scheduling.annotation
Class
Description
AdviceMode
Enumeration used to determine whether JDK proxy-based or AspectJ weaving-based advice should be applied.
AdviceModeImportSelector
Convenient base class for `ImportSelector` implementations that select imports based on an `AdviceMode` value 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 `@Bean` methods and may be processed by the Spring container to generate bean definitions and service requests for those beans at runtime, for example:
Import
Indicates one or more component classes to import — typically `@Configuration` classes.
ImportAware
Interface to be implemented by any @`Configuration` class that wishes to be injected with the `AnnotationMetadata` of the @`Configuration` class that imported it.
ImportSelector
Interface to be implemented by types that determine which @`Configuration` class(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.