Heim >Java >javaLernprogramm >Spring Boot Spickzettel

Spring Boot Spickzettel

Susan Sarandon
Susan SarandonOriginal
2024-11-26 00:37:10785Durchsuche

Spring Boot Cheat Sheet

Spring Boot Spickzettel

Anmerkungen

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;

Kontrollfluss

  1. Initialisierung: Spring Boot beginnt mit dem Laden von Anwendungseigenschaften und der automatischen Konfiguration von Beans.
  2. Komponentenscan: Spring scannt nach Komponenten wie Controllern, Diensten und Repositorys.
  3. Bean-Erstellung: Spring erstellt Beans und löst Abhängigkeiten mithilfe der Abhängigkeitsinjektion auf.
  4. Anfragebehandlung: Eingehende HTTP-Anfragen werden auf Basis von Anfragezuordnungen Controller-Methoden zugeordnet.
  5. Ausführung: Controller-Methoden verarbeiten Anfragen, interagieren mit Diensten und geben Antworten zurück.
  6. Antwort-Rendering: Spring konvertiert Methodenrückgabewerte in geeignete HTTP-Antworten (z. B. JSON).

Empfohlene Ordnerstruktur

src
├── Haupt
│ ├── Java
│ │ └── com
│ │ └── Beispiel
│ │ ├── Controller
│ │ │ └── MyController.java
│ │ ├── Service
│ │ │ └── MyService.java
│ │ └── Application.java
│ └── Ressourcen
│ ├── application.properties
│ └── Vorlagen
│ └── index.html
└── Test
└── Java
└── com
└── Beispiel
└── Controller
└── MyControllerTest.java

Fehlerbehandlung im Spring Boot Cheat Sheet

Fehlerbehandlung ist ein entscheidender Aspekt beim Erstellen robuster Anwendungen. Spring Boot bietet mehrere Mechanismen zur eleganten Behandlung von Fehlern und Ausnahmen und sorgt so für ein reibungsloses Benutzererlebnis.

Arten von Fehlern

  • Client-Fehler: Fehler, die durch ungültige Client-Anfragen verursacht werden, z. B. 400 Bad Request oder 404 Not Found.
  • Serverfehler: Fehler, die auf der Serverseite auftreten, wie z. B. 500 Internal Server Error.
  • Validierungsfehler: Fehler aufgrund ungültiger Eingaben oder Datenvalidierungsfehler.

Fehlerbehandlungsmechanismen

1. Hinweise für den Controller

  • @ControllerAdvice: Eine Annotation, die zum Definieren globaler Ausnahmehandler in Spring MVC verwendet wird.
  • @ExceptionHandler: Eine Annotation, die zur Behandlung spezifischer Ausnahmen innerhalb eines Controller-Hinweises verwendet wird.
  • Beispiel:
@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);
    }
}

ResponseEntityExceptionHandler

  • ResponseEntityExceptionHandler: Eine Basisklasse zur Behandlung häufiger Spring MVC-Ausnahmen.
  • Überschreibungen: Überschreiben Sie Methoden wie handleMethodArgumentNotValid, handleHttpMessageNotReadable usw.
  • Beispiel:
@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

3. Fehlerattribute

  • Fehlerattribute: Schnittstelle zum Anpassen des Inhalts und Formats von Fehlerantworten.
  • DefaultErrorAttributes: Von Spring Boot bereitgestellte Standardimplementierung.
@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;
}

}

Verwenden von Eigenschaftendateien

  • application.properties: Speichern Sie anwendungsweite Eigenschaften wie Server-Port, Datenbank-URL usw.
  • Benutzerdefinierte Eigenschaftendateien: Definieren Sie benutzerdefinierte Eigenschaftendateien für verschiedene Umgebungen (z. B. application-dev.properties).
  • Zugriff auf Eigenschaften: Greifen Sie mit der @Value-Annotation oder der Spring-Umgebungs-API auf Eigenschaften zu.

Bauvorhaben

  • Maven: Führen Sie mvn clean install aus, um das Projekt zu erstellen und eine ausführbare JAR-Datei zu generieren.
  • Gradle: Führen Sie ./gradlew build aus, um das Projekt zu erstellen und eine ausführbare JAR-Datei zu generieren.

Zusätzliche Themen

  • Spring Boot Starters: Verwenden Sie Starter, um Ihrem Projekt Abhängigkeiten und automatische Konfiguration hinzuzufügen.
  • Protokollierung: Konfigurieren Sie die Protokollierung mit Logback, Log4j oder Java Util Logging.
  • Fehlerbehandlung: Implementieren Sie eine globale Ausnahmebehandlung mit @ControllerAdvice.
  • Testen: Schreiben Sie Unit-Tests und Integrationstests mit JUnit, Mockito und SpringBootTest.

Das obige ist der detaillierte Inhalt vonSpring Boot Spickzettel. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn