Saltar al contenido principal

Módulo 17: Referencia Completa de Anotaciones Spring Boot

Objetivos del Módulo​

Este módulo es una referencia exhaustiva de todas las anotaciones de Spring Boot que encontrará en el desarrollo. Cubre:

  • Las anotaciones del núcleo de Spring (IoC, DI, configuración)
  • Las anotaciones Web y REST
  • Las anotaciones de persistencia (JPA/Hibernate)
  • Las anotaciones de seguridad, de prueba y anotaciones avanzadas

Plan del Módulo​

#CapítuloContenido
1Anotaciones Core Spring@Component, @Service, @Repository, @Configuration, @Bean, @Autowired, @Value, @Profile, @Scope, @Conditional...
2Anotaciones Web y REST@RestController, @RequestMapping, @GetMapping, @PostMapping, @RequestBody, @PathVariable, @ResponseStatus, @CrossOrigin...
3Anotaciones Data y JPA@Entity, @Table, @Id, @GeneratedValue, @Column, @OneToMany, @ManyToOne, @Query, @Transactional, @Modifying...
4Anotaciones Security, Test y Avanzadas@EnableWebSecurity, @PreAuthorize, @SpringBootTest, @MockBean, @Scheduled, @Async, @EnableCaching, @Validated...
5Diccionario Completo A-Z120+ anotaciones ordenadas alfabéticamente con descripciones cortas — referencia rápida

Cómo Utilizar Este Módulo​

Guía de referencia

Este módulo está diseñado como un diccionario de anotaciones. No necesita leerlo de principio a fin. Úselo como referencia cuando encuentre una anotación desconocida o cuando busque la anotación adecuada para su necesidad.


Recorrido de una Solicitud HTTP en Spring Boot​

Vista global: del Cliente a la Base de Datos​


Flujo detallado con anotaciones​


Arquitectura en capas y sus anotaciones​


Ejemplo concreto: GET /api/users/1​


Ejemplo concreto: POST /api/products (creación)​


Leyenda de colores​

ColorCapaAnotaciones principales
🔵 AzulClienteSolicitud HTTP / Respuesta JSON
🔴 RojoSeguridad@EnableWebSecurity, JwtFilter, @PreAuthorize
🟢 VerdeController@RestController, @GetMapping, @PostMapping
🟡 AmarilloService@Service, @Transactional, lógica de negocio
🟠 NaranjaRepository@Repository, JpaRepository, @Query
🟣 VioletaBase de datos@Entity, @Table, @Id, @Column

Anotaciones por Categoría​

Spring Boot Annotations
├── Core Spring
│ ├── Estereotipos: @Component, @Service, @Repository, @Controller
│ ├── Configuración: @Configuration, @Bean, @PropertySource
│ ├── Inyección: @Autowired, @Qualifier, @Value, @Inject
│ └── Ciclo de vida: @PostConstruct, @PreDestroy, @Scope
│
├── Web / REST
│ ├── Controladores: @RestController, @Controller
│ ├── Mapping: @GetMapping, @PostMapping, @PutMapping, @DeleteMapping, @PatchMapping
│ ├── Parámetros: @RequestParam, @PathVariable, @RequestBody, @RequestHeader
│ └── Respuestas: @ResponseBody, @ResponseStatus, @ExceptionHandler
│
├── Data / JPA
│ ├── Entidades: @Entity, @Table, @Id, @GeneratedValue, @Column
│ ├── Relaciones: @OneToOne, @OneToMany, @ManyToOne, @ManyToMany
│ ├── Consultas: @Query, @NamedQuery, @Modifying
│ └── Transacciones: @Transactional, @EnableJpaRepositories
│
├── Security
│ ├── Config: @EnableWebSecurity, @EnableMethodSecurity
│ └── Autorización: @PreAuthorize, @PostAuthorize, @Secured
│
├── Test
│ ├── Boot: @SpringBootTest, @WebMvcTest, @DataJpaTest
│ ├── Mock: @MockBean, @SpyBean
│ └── Config: @TestConfiguration, @ActiveProfiles
│
└── Avanzadas
├── Async: @Async, @Scheduled, @EnableScheduling
├── Cache: @Cacheable, @CacheEvict, @EnableCaching
├── Validación: @Valid, @NotNull, @Size, @Email
└── Boot: @SpringBootApplication, @ConditionalOnProperty

Próximo Paso​

➡️ Capítulo 1: Anotaciones Core Spring


⬅️ Volver al inicio