Spring Boot Annotations Guide
Spring Boot Annotations Guide
@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();
}
}
@Autowired
- Automatically injects dependencies
Example:
@Service
public class UserService {}
Spring Boot Annotations Guide
@RestController
- Combines @Controller and @ResponseBody
Example:
@GetMapping("/users/{id}")
public User getUser(@PathVariable Long id) { ... }
@EnableWebSecurity
- Enables security configuration
@PreAuthorize, @Secured
- Method-level authorization
Example:
@PreAuthorize("hasRole('ADMIN')")
public void deleteUser(Long id) { ... }
@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
Example:
@Transactional
public void transferMoney() { ... }
8. Validation Annotations
@Valid
- Used in controller to trigger validation
Example:
@PostMapping("/register")
public ResponseEntity<?> register(@Valid @RequestBody User user) { ... }