Annotation | Description | Example |
---|---|---|
@SpringBootApplication | Marks a class as a Spring Boot application. Enables auto-configuration and component scanning. | @SpringBootApplication |
@RestController | Indicates that a class provides RESTful endpoints. It combines @Controller and @ResponseBody annotations. | @RestController |
@RequestMapping | Maps HTTP requests to handler methods of RESTful controllers. | @RequestMapping("/api") |
@Autowired | Injects dependencies into a Spring bean. It can be used for constructor, setter, or field injection. | @Autowired private MyService myService; |
@Component | Indicates that a class is a Spring-managed component. It is automatically detected during component scanning. | @Component |
@Repository | Marks a class as a Spring Data repository. It handles data access and persistence logic. | @Repository |
@Service | Marks a class as a service component in the business layer. It is used to separate business logic from presentation logic. | @Service |
@Configuration | Indicates that a class provides bean definitions. It is used along with @bean to define beans in Java-based configuration. | @Configuration |
@Value | Injects values from properties files or environment variables into Spring beans. | @Value("${my.property}") private String property; |
src
├── principal
│ ├── java
│ │ └── com
│ │ └── exemple
│ │ ├── contrôleur
│ │ │ └── MonContrôleur.java
│ │ ├── service
│ │ │ └── MonService.java
│ │ └── Application.java
│ └── ressources
│ ├── application.properties
│ └── modèles
│ └── index.html
└── tester
└── java
└──com
└── exemple
└── contrôleur
└── MonControllerTest.java
La gestion des erreurs est un aspect essentiel de la création d'applications robustes. Spring Boot fournit plusieurs mécanismes pour gérer les erreurs et les exceptions avec élégance, garantissant ainsi une expérience utilisateur fluide.
Types d'erreurs
@ControllerAdvice public class GlobalExceptionHandler { @ExceptionHandler(MyException.class) public ResponseEntity<ErrorResponse> handleMyException(MyException ex) { ErrorResponse response = new ErrorResponse("My error message"); return new ResponseEntity<>(response, HttpStatus.BAD_REQUEST); } @ExceptionHandler(Exception.class) public ResponseEntity<ErrorResponse> handleException(Exception ex) { ErrorResponse response = new ErrorResponse("Internal server error"); return new ResponseEntity<>(response, HttpStatus.INTERNAL_SERVER_ERROR); } }
@ControllerAdvice public class CustomExceptionHandler extends ResponseEntityExceptionHandler { @Override protected ResponseEntity<Object> handleMethodArgumentNotValid( MethodArgumentNotValidException ex, HttpHeaders headers, HttpStatus status, WebRequest request) { ErrorResponse response = new ErrorResponse("Validation failed"); return new ResponseEntity<>(response, HttpStatus.BAD_REQUEST); } // Other overrides for handling specific exceptions
@Component public class CustomErrorAttributes extends DefaultErrorAttributes { @Override public Map<String, Object> getErrorAttributes(WebRequest webRequest, boolean includeStackTrace) { Map<String, Object> errorAttributes = super.getErrorAttributes(webRequest, includeStackTrace); errorAttributes.put("customAttribute", "Custom value"); return errorAttributes; } }
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!