Aller au contenu principal

Module 17: Référence Complète des Annotations Spring Boot

Objectifs du Module​

Ce module est une référence exhaustive de toutes les annotations Spring Boot que vous rencontrerez en développement. Il couvre:

  • Les annotations du noyau Spring (IoC, DI, configuration)
  • Les annotations Web et REST
  • Les annotations de persistance (JPA/Hibernate)
  • Les annotations de sécurité, de test et les annotations avancées

Plan du Module​

#ChapitreContenu
1Annotations Core Spring@Component, @Service, @Repository, @Configuration, @Bean, @Autowired, @Value, @Profile, @Scope, @Conditional...
2Annotations Web et REST@RestController, @RequestMapping, @GetMapping, @PostMapping, @RequestBody, @PathVariable, @ResponseStatus, @CrossOrigin...
3Annotations Data et JPA@Entity, @Table, @Id, @GeneratedValue, @Column, @OneToMany, @ManyToOne, @Query, @Transactional, @Modifying...
4Annotations Security, Test et Avancées@EnableWebSecurity, @PreAuthorize, @SpringBootTest, @MockBean, @Scheduled, @Async, @EnableCaching, @Validated...
5Dictionnaire Complet A-Z120+ annotations classées par ordre alphabétique avec descriptions courtes — référence rapide

Comment Utiliser Ce Module​

Guide de référence

Ce module est conçu comme un dictionnaire d'annotations. Vous n'avez pas besoin de le lire du début à la fin. Utilisez-le comme référence lorsque vous rencontrez une annotation inconnue ou que vous cherchez l'annotation adaptée à votre besoin.


Parcours d'une Requête HTTP dans Spring Boot​

Vue globale : du Client à la Base de Données​


Flux détaillé avec annotations​


Architecture en couches et leurs annotations​


Exemple concret : GET /api/users/1​


Exemple concret : POST /api/products (création)​


Légende des couleurs​

CouleurCoucheAnnotations principales
🔵 BleuClientRequête HTTP / Réponse JSON
🔴 RougeSécurité@EnableWebSecurity, JwtFilter, @PreAuthorize
🟢 VertController@RestController, @GetMapping, @PostMapping
🟡 JauneService@Service, @Transactional, logique métier
🟠 OrangeRepository@Repository, JpaRepository, @Query
🟣 VioletBase de données@Entity, @Table, @Id, @Column

Annotations par Catégorie​

Spring Boot Annotations
├── Core Spring
│ ├── Stéréotypes: @Component, @Service, @Repository, @Controller
│ ├── Configuration: @Configuration, @Bean, @PropertySource
│ ├── Injection: @Autowired, @Qualifier, @Value, @Inject
│ └── Lifecycle: @PostConstruct, @PreDestroy, @Scope
│
├── Web / REST
│ ├── Contrôleurs: @RestController, @Controller
│ ├── Mapping: @GetMapping, @PostMapping, @PutMapping, @DeleteMapping, @PatchMapping
│ ├── Paramètres: @RequestParam, @PathVariable, @RequestBody, @RequestHeader
│ └── Réponses: @ResponseBody, @ResponseStatus, @ExceptionHandler
│
├── Data / JPA
│ ├── Entités: @Entity, @Table, @Id, @GeneratedValue, @Column
│ ├── Relations: @OneToOne, @OneToMany, @ManyToOne, @ManyToMany
│ ├── Requêtes: @Query, @NamedQuery, @Modifying
│ └── Transactions: @Transactional, @EnableJpaRepositories
│
├── Security
│ ├── Config: @EnableWebSecurity, @EnableMethodSecurity
│ └── Autorisation: @PreAuthorize, @PostAuthorize, @Secured
│
├── Test
│ ├── Boot: @SpringBootTest, @WebMvcTest, @DataJpaTest
│ ├── Mock: @MockBean, @SpyBean
│ └── Config: @TestConfiguration, @ActiveProfiles
│
└── Avancées
├── Async: @Async, @Scheduled, @EnableScheduling
├── Cache: @Cacheable, @CacheEvict, @EnableCaching
├── Validation: @Valid, @NotNull, @Size, @Email
└── Boot: @SpringBootApplication, @ConditionalOnProperty

Prochaine Étape​

➡️ Chapitre 1: Annotations Core Spring


⬅️ Retour à l'accueil