Spring Boot Spickzettel
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
- Initialisierung: Spring Boot beginnt mit dem Laden von Anwendungseigenschaften und der automatischen Konfiguration von Beans.
- Komponentenscan: Spring scannt nach Komponenten wie Controllern, Diensten und Repositorys.
- Bean-Erstellung: Spring erstellt Beans und löst Abhängigkeiten mithilfe der Abhängigkeitsinjektion auf.
- Anfragebehandlung: Eingehende HTTP-Anfragen werden auf Basis von Anfragezuordnungen Controller-Methoden zugeordnet.
- Ausführung: Controller-Methoden verarbeiten Anfragen, interagieren mit Diensten und geben Antworten zurück.
- 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!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen











Fehlerbehebung und Lösungen für die Sicherheitssoftware des Unternehmens, die dazu führt, dass einige Anwendungen nicht ordnungsgemäß funktionieren. Viele Unternehmen werden Sicherheitssoftware bereitstellen, um die interne Netzwerksicherheit zu gewährleisten. ...

Lösungen zum Umwandeln von Namen in Zahlen zur Implementierung der Sortierung in vielen Anwendungsszenarien müssen Benutzer möglicherweise in Gruppen sortieren, insbesondere in einem ...

Die Verarbeitung von Feldzuordnungen im Systemdocken stößt häufig auf ein schwieriges Problem bei der Durchführung von Systemdocken: So kartieren Sie die Schnittstellenfelder des Systems und ...

Bei Verwendung von MyBatis-Plus oder anderen ORM-Frameworks für Datenbankvorgänge müssen häufig Abfragebedingungen basierend auf dem Attributnamen der Entitätsklasse erstellt werden. Wenn Sie jedes Mal manuell ...

Beginnen Sie den Frühling mit der Intellijideaultimate -Version ...

Konvertierung von Java-Objekten und -Arrays: Eingehende Diskussion der Risiken und korrekten Methoden zur Konvertierung des Guss-Typs Viele Java-Anfänger werden auf die Umwandlung eines Objekts in ein Array stoßen ...

Detaillierte Erläuterung des Designs von SKU- und SPU-Tabellen auf E-Commerce-Plattformen In diesem Artikel werden die Datenbankdesignprobleme von SKU und SPU in E-Commerce-Plattformen erörtert, insbesondere wie man mit benutzerdefinierten Verkäufen umgeht ...

Wie erkennt die Redis -Caching -Lösung die Anforderungen der Produktranking -Liste? Während des Entwicklungsprozesses müssen wir uns häufig mit den Anforderungen der Ranglisten befassen, z. B. das Anzeigen eines ...
