SPRING BOOT Annotation
SPRING BOOT
Spring Boot annotations are special tags used in Java classes to reduce XML configuration.
Spring Boot Annotations:
➔ Spring Boot annotations are markers used in Java classes that provide special instructions to the Spring Framework, allowing the framework to use class-based configuration for various components of the application without additional XML-based configuration.
➔ Spring Boot simplifies the process of application configuration by using annotations on Java classes, methods, and variables.
➔ Annotations help developers quickly configure applications and reduce the time to implement various features.
➔ Developers can avoid XML-based configuration by using Spring Boot annotations.
Key Concepts of Annotations:
➔ Annotation without XML helps developers configure applications directly within Java classes, making them cleaner and more manageable.
➔ In Spring Boot, much of the configuration happens automatically with the help of the @EnableAutoConfiguration annotation.
➔ Spring Boot detects and registers annotated classes by automatic component scanning.
➔ Spring Boot scans the annotated classes with any dependencies and creates objects at runtime.
Common Spring Boot Annotations:
Spring boot have many different types of annotations , each for a different purposes and functions. Annotations can be classified based on their function or the level at which they operate.
Application Level Annotations:
➔ @Configuration:
➔ @EnableAutoConfiguration:
➔ @ComponentScan:
Core Annotations:
➔ @Component:
➔ @Service:
➔ @Autowired:
➔ @Bean:
Web and RESTful API annotations:
➔ @Controller:
➔ @RestController:
➔ @RequestMapping:
➔ @GetMapping:
➔ @PostMapping:
➔ @PutMapping:
➔ @DeleteMapping:
➔ @PathVariable:
➔ @RequestParam:
➔ @RequestBody:
Data model and Persistence Annotations:
➔ @Entity:
➔ @Table:
➔ @Id:
➔ @GeneratedValue:
➔ @Column:
➔ @OneToMany:
➔ @ManyToOne:
➔ @ManyToMany:
➔ @OneToOne:
➔ @Repository:
➔ @Query:
Data Validation / Bean Validation (via Hibernate) Annotations:
➔ @NotNull:
➔ @NotBlank:
➔ @Size:
➔ @Min:
➔ @Max:
➔ @Email: