| Package | Description | 
|---|---|
| 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.stereotype | Annotations denoting the roles of types or methods in the overall architecture
 (at a conceptual, rather than implementation, level). | 
| Modifier and Type | Class and Description | 
|---|---|
| interface  | ConfigurationIndicates 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 ... | 
| Modifier and Type | Class and Description | 
|---|---|
| interface  | ControllerIndicates that an annotated class is a "Controller" (e.g. | 
| interface  | RepositoryIndicates that an annotated class is a "Repository", originally defined by
 Domain-Driven Design (Evans, 2003) as "a mechanism for encapsulating storage,
 retrieval, and search behavior which emulates a collection of objects". | 
| interface  | ServiceIndicates that an annotated class is a "Service", originally defined by Domain-Driven
 Design (Evans, 2003) as "an operation offered as an interface that stands alone in the
 model, with no encapsulated state." |