In diesen Projekten gefundene Anmerkungen

Tipp: Nachdem der Artikel geschrieben wurde, kann das Inhaltsverzeichnis automatisch generiert werden. Informationen zur Generierung finden Sie im Hilfedokument rechts.


Vorwort

提示:这里可以添加本文要记录的大概内容:


Anmerkungen im VO-Paket und in der Entitätsklasse:

@Daten

@Data: Dies ist eine Annotation in der Lombok-Bibliothek, die zum automatischen Generieren von Getter-, Setter-, Equals-, HashCode- und toString-Methoden zur Kompilierungszeit verwendet wird und dadurch das Schreiben von Java-Klassen vereinfacht.

@I18nExcel

@I18nExcel: Dies ist eine benutzerdefinierte Anmerkung, die für den Excel-Export und -Import in mehrsprachigen Umgebungen verwendet wird. Die spezifische Funktion hängt davon ab, wie die Annotation implementiert wird. Sie kann zur Identifizierung einer Klasse verwendet werden, um Internationalisierungsanforderungen (I18n) bei der Verarbeitung von Excel zu berücksichtigen. Dies bedeutet, dass die Anmerkung mehrere Sprachen unterstützt und automatisch wechseln kann, um je nach Sprachumgebung unterschiedliche Inhalte anzuzeigen.

@Excel(name = „a.abc“, Breite = 20)

@Excel(name = "a.abc", width = 20)Dies ist eine benutzerdefinierte Anmerkung in MyBatis-Plus: Sie wird für Tabellenkopfeinstellungen beim Importieren und Exportieren von Excel verwendet. Das Namensattribut gibt den Spaltennamen im angegebenen Excel an und das Breitenattribut gibt die Breite der Tabellenspalte an.

@TableField(exist = false) ignoriert dieses Feld

  • @TableField(exist = false): Dies ist eine benutzerdefinierte Anmerkung in MyBatis-Plus, die verwendet wird, um zu identifizieren, dass ein Attribut kein Feld in der Datenbanktabelle ist und bei der Ausführung von CRUD-Operationen keiner SQL-Anweisung zugeordnet wird. Dies wird normalerweise für einige logisch berechnete Eigenschaften oder Felder verwendet, die in der Datenbanktabelle nicht vorhanden sind.
  • existWenn Sie die Eigenschaft auf „false“ setzen, bedeutet dies, dass das Feld nicht in der Datenbanktabelle vorhanden ist oder dass dieses Feld bei der Ausführung bestimmter Vorgänge nicht berücksichtigt werden muss.

@ApiModelProperty(value = "field annotation")

Diese Java-Annotation wird normalerweise bei RESTful APIder Entwicklung des Spring-Frameworks verwendet, um API-Dokumentation zu generieren.

  • @ApiModelProperty: Geben Sie die Beschreibungsinformationen eines Modellattributs an, z. B. Name, Typ, ob es erforderlich ist usw. Diese Anmerkung wird verwendet, um die Funktion und Bedeutung des API-Modellattributs im Dokument zu beschreiben.
  • value= „Feldanmerkung“: Das Wertattribut der Anmerkung wird zur Beschreibung der Textbeschreibungsinformationen des Attributs verwendet.

Daher kann diese Annotation Entwicklern bei der Verwendung von API-Dokumentationstools wie Swagger zum Generieren der API-Dokumentation dabei helfen, die Bedeutung des Datenmodells und der Attribute der API schnell zu verstehen und so die Lesbarkeit und Wartbarkeit des Codes zu verbessern.

@TableName("Tabellenname")

@TableName: Dies ist eine benutzerdefinierte Anmerkung in MyBatis-Plus, die
zur Angabe des entsprechenden Datenbanktabellennamens verwendet wird

@Accessors(chain = true)

Dies ist eine Annotation in der Lombok-Bibliothek, die zum automatischen Generieren von Kettenmethoden zur Kompilierungszeit verwendet wird, sodass die Set-Methode in einer Kette aufgerufen werden kann, z. B. „“ setA(1).setB(2).

@EqualsAndHashCode(callSuper = false)

Diese Annotation wird verwendet, um zur Kompilierungszeit automatisch Equals- und HashCode-Methoden zu generieren. callSuper = false“ bedeutet, dass die Methoden „equals“ und „hashCode“ der übergeordneten Klasse nicht aufgerufen werden

@ApiModel(value="Tabellennamenobjekt", Beschreibung="XXX-Seite")

@ApiModel: Dies ist eine Anmerkung in der Swagger-Bibliothek, die zur Beschreibung von Informationen zu einem API-Modell verwendet wird, einschließlich des Namens und der Beschreibung des Modells. In diesem Beispiel wird das Objekt „XXX-Tabellenname“ beschrieben, was darauf hinweist, dass dieses Objekt zur Beschreibung der „XXX-Funktion“ verwendet wird.

@TableId(Typ = XXX)

@TableId(type = IdType.ASSIGN_ID): Dies ist eine MyBatis-Plus-Annotation, die zum Markieren des Primärschlüsselfelds der Datenbanktabelle verwendet wird. „type = IdType.ASSIGN_ID“ bedeutet, dass die Strategie zur Primärschlüsselgenerierung „ID manuell zuweisen“ lautet, d. h. Sie müssen den Wert des Primärschlüssels selbst festlegen.

@ApiModelProperty(value = "field annotation")

Dies ist eine Swagger-Annotation, die zur Beschreibung der Bedeutung von Feldern beim Generieren der API-Dokumentation verwendet wird.
Beispiel: value = "主键"Der Primärschlüssel ist die Beschreibung dieses Feldes.

Für Front-End-Entwickler ist es praktisch, die Bedeutung und Verwendung dieses Attributs zu verstehen. Sein Wertattribut wird verwendet, um den Namen und die Funktion des Attributs zu beschreiben

@JsonFormat(timezone = „GMT+8“,pattern = „yyyy-MM-dd HH:mm:ss“)

  • Diese Annotation definiert die Zeitformat- und Zeitzoneneigenschaften, die zum Konvertieren des Zeitformats während der Serialisierung und Deserialisierung verwendet werden.
  • Das Attribut „timezone“ definiert die Zeitzone, hier ist der East Eighth District (GMT+8)
  • Das Attribut „pattern“ definiert das Zeitformat, hier ist es „yyyy-MM-dd HH:mm:ss“, was das Format von Jahr, Monat, Tag, Stunde, Minute und Sekunde darstellt.
  • Diese Annotation wird normalerweise mit der Jackson-Bibliothek für die JSON-Serialisierung und -Deserialisierung verwendet.

@DateTimeFormat(pattern=“yyyy-MM-dd HH:mm:ss“)

  • Diese Anmerkung definiert das Zeitformat, das beim Konvertieren in und aus Zeichenfolgen verwendet wird.
  • Das Attribut „pattern“ definiert das Datums- und Uhrzeitformat, das mit dem Attribut „pattern“ in der Annotation @JsonFormat identisch ist und zum Formatieren von Datumszeichenfolgen verwendet wird

Wird hauptsächlich für die Spring-Formularbindung verwendet, um sicherzustellen, dass die vom Front-End übergebenen Datums- und Uhrzeitdaten dem angegebenen Format entsprechen.

@ApiModelProperty(value = "Beschreibung der Eigenschaft")

  • Bei dieser Anmerkung handelt es sich um eine Beschreibungsanmerkung, die verwendet wird, wenn Swagger API-Dokumente generiert. Sie gibt an, dass das Attribut das Erstellungsdatum ist, und zeigt die Beschreibung des Attributs im Dokument an.

Im Allgemeinen werden diese Annotationen normalerweise für Attribute von Entitätsklassen verwendet, um anzugeben, wie Datums- und Uhrzeitdaten verarbeitet und angezeigt werden und wie Beschreibungen für die API-Dokumentation bereitgestellt werden. Zum Beispiel:

public class SomeEntity {
    
      
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")  
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")  
    @ApiModelProperty(value = "创建日期")  
    private Date createdDate;  
    // ... 其他属性和方法 ...  
}

Service-Paket

@Service

Die Annotation @Service gibt an, dass es sich um eine Service-Layer-Bean handelt, die vom Spring-Container verwaltet wird und automatisch in andere Klassen eingefügt werden kann, die verwendet werden müssen. Normalerweise werden die Beans der DAO-Schicht in die Serviceschicht eingefügt und die Methoden der DAO-Schicht aufgerufen, um die Geschäftslogikverarbeitung zu implementieren.

Zweck: Diese Annotation wird verwendet, um eine Klasse als Serviceklasse zu markieren. Dienstklassen sind in der Regel die Hauptträger der Geschäftslogik und verarbeiten Datenzugriffsobjekte (DAO) oder Datenzugriffsdienste (wie JPA oder Hibernate), um CRUD-Vorgänge (Erstellen, Lesen, Aktualisieren, Löschen) auszuführen.

Vorteil: Diese Annotation ist nicht nur ein Tag, sie erstellt tatsächlich eine von Spring verwaltete Bean, was bedeutet, dass der Spring-Container für den Lebenszyklus dieser Klasse verantwortlich ist, einschließlich ihrer Erstellung, Initialisierung und Zerstörung.

Detaillierte Verwendung der @Transactional-Annotation

Zweck: Diese Anmerkung wird verwendet, um die Grenzen der Transaktion festzulegen. Wenn Sie dies für eine Methode verwenden, bedeutet dies, dass alle Datenbankvorgänge innerhalb der Methode entweder alle erfolgreich sind oder alle fehlschlagen und zurückgesetzt werden. Dies ist wichtig, um die Datenintegrität und -konsistenz sicherzustellen.

Attribute:

  • rollbackFor: Mit diesem Attribut wird angegeben, welche Ausnahmen ein Transaktions-Rollback auslösen sollen.
  • Beispiel: rollbackFor = Exception.classbedeutet, dass jede Instanz von Exception oder ihrer Unterklassen einen Transaktions-Rollback auslöst.
    -Vorteile: Die Verwendung @Transactionalvon Anmerkungen vereinfacht die Transaktionsverwaltung, da die Transaktionsfestschreibung und das Rollback automatisch für Sie durchgeführt werden, ohne dass eine manuelle Verwaltung erforderlich ist.

@Autowired

Zweck: Diese Annotation wird verwendet, um Abhängigkeiten automatisch zusammenzustellen. Der Spring-Container erkennt diese Annotation automatisch und fügt die passende Bean in das annotierte Feld, den Konstruktor oder die annotierte Methode ein.

Vorteil: Dies vereinfacht den Abhängigkeitsinjektionsprozess erheblich, da Sie Abhängigkeitsobjekte nicht manuell erstellen und verwalten müssen. Der Frühling wird alles für Sie erledigen.

Controller-Paket

@Api(tags = "Auftragsverwaltung")

Zweck: Tags: Dieses Attribut wird verwendet, um ein oder mehrere Tags für verwandte API-Vorgänge bereitzustellen. In der generierten Dokumentation können diese Tags Benutzern helfen, die Funktionalität der API besser zu organisieren und zu verstehen. Markieren Sie die API-Gruppe, zu der diese Schnittstelle gehört, nämlich die Auftragsverwaltung.

Erläuterung: Diese Anmerkung stammt aus dem Swagger-Framework und wird zur Beschreibung der Metadaten der API verwendet, einschließlich API-Gruppierung, Tags, Beschreibung usw.

@RestController

Zweck: Diese Annotation wird vom Spring-Framework bereitgestellt und wird verwendet, um eine Klasse als RESTful-Controller zu markieren. Das bedeutet, dass die Methoden in dieser Klasse HTTP-Anfragen verarbeiten und HTTP-Antworten zurückgeben.

Vorteile: Diese Annotation kombiniert die Funktionen von @Controllerund @ResponseBodyund erleichtert Ihnen so die Erstellung von RESTful-APIs

Erläuterung: Diese Annotation teilt dem Spring-Framework mit, dass es sich bei dieser Klasse um einen Controller handelt, der REST-Anfragen verarbeiten kann, und dass jede Methode Daten anstelle einer Ansicht zurückgibt.

@RequestMapping(“/book/BookList”)

Zweck: Definieren Sie den vom Controller verarbeiteten Anforderungspfad. Dies bedeutet, dass alle Methoden in diesem Controller Anforderungen verarbeiten, denen dieser Pfad vorangestellt ist.

Erläuterung: Diese Annotation wird verwendet, um den angeforderten URI einer bestimmten Controller-Methode zuzuordnen, d. h. Anforderungen für den /book/BookList-Pfad werden von diesem Controller verarbeitet.

Vorteile: Durch Festlegen des Basispfads auf einem Controller können zugehörige API-Vorgänge bequemer organisiert und verwaltet werden.

@Slf4j

Zweck: Protokollobjekte automatisch generieren. Es generiert automatisch eine Logger-Instanz mit dem Namen log für Ihre Klasse, die zum Aufzeichnen von Protokollen verwendet werden kann.

Vorteile: Durch die Verwendung der @Slf4j-Annotation von Lombok können Sie das manuelle Erstellen und Verwalten von Logger-Instanzen vermeiden und das Protokollobjekt zur Ausgabe von Protokollinformationen verwenden, um das Debuggen und die Fehlerbehebung zu erleichtern. Dadurch wird der Code prägnanter und einfacher zu warten.

@AutoLog(value = „Modify-query by id“)

Zweck: Diese Anmerkung wird normalerweise verwendet, um das Protokoll von API-Vorgängen automatisch aufzuzeichnen. Es hilft Ihnen, die API-Nutzung zu verfolgen und zu debuggen und zu verstehen, welche Vorgänge wann ausgeführt werden.

@ApiOperation(value = „Ändern – nach ID ändern“, Feldname = „Ergebnisse ändern – nach ID abfragen“)

@ApiOperation: Diese Annotation wird zum Beschreiben von API-Methoden und zum Generieren der API-Dokumentation verwendet. Es hilft Ihnen, detaillierte Beschreibungen und Anweisungen für jeden API-Vorgang bereitzustellen.

  • Wert: Dieses Attribut wird verwendet, um eine kurze Beschreibung bereitzustellen, um den Zweck dieser API-Operation oder ihre Wirkung zu erläutern.
  • Feldname (Feld in der Tabelle): Dieses Attribut wird verwendet, um eine detailliertere Beschreibung oder einen Kommentar zur weiteren Erläuterung dieser API-Operation bereitzustellen.

@GetMapping(value = „/queryById“)

Zweck: Diese Annotation wird vom Spring-Framework bereitgestellt und zum Definieren der Verarbeitungsmethode von HTTP-GET-Anfragen verwendet. Es gibt an, welcher URL-Pfad dieser Methode zugeordnet werden soll, um GET-Anfragen zu verarbeiten. Diese Annotation wird normalerweise für Abfragevorgänge verwendet

  • Wert: Dieses Attribut definiert den URL-Pfad. Der angeforderte Pfad wird hier als „/queryById“ angegeben.
  • Vorteile: Durch die Verwendung der @GetMapping-Annotation können Sie GET-Anfragen für RESTful-APIs einfacher erstellen und verarbeiten.

@RequestMapping(Wert = „/importExcel“, Methode = RequestMethod.POST)

@RequestMapping ist eine Annotation in Spring, die zum Zuordnen von Anforderungspfaden und Anforderungsmethoden verwendet wird. Sie kann für Klassen oder Methoden verwendet werden. Verwenden Sie diese Annotation für eine Klasse, um dem Anforderungspfad aller Methoden in der Klasse ein Präfix hinzuzufügen, und verwenden Sie diese Annotation für eine Methode, um einen Anforderungspfad für die Methode anzugeben.

Insbesondere kann diese Annotation die folgenden Attribute akzeptieren:

  • Wert: Gibt den Anforderungspfad an, der Pfadvariablen und Platzhalter enthalten kann.
  • Methode: Geben Sie die Anforderungsmethode an, die GET, POST, PUT, DELETE usw. sein kann.
  • params: Geben Sie Anforderungsparameter und ihre Werte an.
  • Header: Geben Sie Anforderungsheader und ihre Werte an.
  • verbraucht: Gibt den MIME-Typ des Anforderungshauptteils an.
  • produziert: Gibt den MIME-Typ des Antworttextes an.

Durch die Verwendung unterschiedlicher Eigenschaften können Sie unterschiedliche Arten von Anforderungszuordnungen erstellen, um unterschiedliche Arten von Anforderungen zu verarbeiten. In Spring MVC ist diese Annotation eine der am häufigsten verwendeten Annotationen, die die Anforderungsverarbeitung klarer und standardisieren kann.

Beispiel:

@RestController  
@RequestMapping("/api/v1") // 基础路径为 "/api/v1"  
public class MyController {
    
      
  
    @GetMapping("/users") // 请求映射为 "/api/v1/users"  
    public List<User> getUsers() {
    
      
        // ... 方法体 ...  
    }  
  
    @PostMapping("/users") // 请求映射为 "/api/v1/users",HTTP方法为POST  
    public User createUser(@RequestBody User user) {
    
      
        // ... 方法体 ...  
    }  
}  

Im obigen Beispiel @RequestMapping("/api/v1")ist der Basispfad als definiert /api/v1. Für jede Verarbeitungsmethode in dieser Klasse verwenden wir spezifischere @GetMappingAnmerkungen @PostMapping, um den spezifischen Anforderungszuordnungspfad und die HTTP-Methode zu definieren.

Guess you like

Origin blog.csdn.net/rej177/article/details/133385251