Spring Boot Annotations Guide
1. Spring Boot Core Annotations
@SpringBootApplication
- Combines @Configuration, @EnableAutoConfiguration, and @ComponentScan
- Used to start the Spring Boot application
Example:
@SpringBootApplication
public class MyApp {
public static void main(String[] args) {
SpringApplication.run(MyApp.class, args);
}
}
2. Configuration Annotations
@Configuration
- Defines configuration class
@Bean
- Declares a bean
@Value
- Injects values from properties
Example:
@Configuration
public class AppConfig {
@Bean
public MyService myService() {
return new MyService();
}
}
3. Dependency Injection Annotations
@Component, @Service, @Repository
- Marks class as Spring bean
@Autowired
- Automatically injects dependencies
Example:
@Service
public class UserService {}
Spring Boot Annotations Guide
4. Web Annotations (Spring MVC)
@RestController
- Combines @Controller and @ResponseBody
@RequestMapping, @GetMapping, etc.
- Maps HTTP requests
@RequestBody, @PathVariable, @RequestParam
- Bind request data
Example:
@GetMapping("/users/{id}")
public User getUser(@PathVariable Long id) { ... }
5. Spring Security Annotations
@EnableWebSecurity
- Enables security configuration
@PreAuthorize, @Secured
- Method-level authorization
Example:
@PreAuthorize("hasRole('ADMIN')")
public void deleteUser(Long id) { ... }
6. Spring Data JPA Annotations
@Entity, @Id, @GeneratedValue
- JPA entity and ID generation
@OneToMany, @ManyToOne
- Entity relationships
Example:
@Entity
public class User {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
}
7. Transaction Management
@Transactional
Spring Boot Annotations Guide
- Declares transactional method
Example:
@Transactional
public void transferMoney() { ... }
8. Validation Annotations
@NotNull, @Size, etc.
- Bean validation
@Valid
- Used in controller to trigger validation
Example:
@PostMapping("/register")
public ResponseEntity<?> register(@Valid @RequestBody User user) { ... }