1. Anmerkungsliste
@SpringbootApplication: Enthält @Componentscan, @Configuration und @enableAutoConfiguration Annotations. Wobei @componentscan Spring -Boot in die Konfigurationsklasse scannen und sie dem Programmkontext hinzufügen kann.
@Configuration entspricht der XML -Konfigurationsdatei von Spring. Java -Code kann die Sicherheitstyp überprüfen.
@EnableAutoConfiguration Automatische Konfiguration.
@Componentscan Componentscan -Komponenten Scans, um einige Bohnen automatisch zu entdecken und zu montieren.
@Component kann mit CommandLinerUnner verwendet werden, um einige grundlegende Aufgaben auszuführen, nachdem das Programm gestartet wurde.
Die @restController -Annotation ist eine Sammlung von @Controller und @ResponseBody, die darauf hinweist, dass dies eine Controller -Bean ist, und der Rückgabewert der Funktion wird direkt in die HTTP -Antwortkörper gefüllt. Es ist ein Controller im Ruhezustand.
@Autowired automatisch importieren.
@PathVariable erhält die Parameter.
@JsonbackReference löst ein verschachteltes externes Linkproblem.
@RepositoryRestresourcePublic wird mit Spring-Boot-Starter-Data-REST verwendet.
2. Detaillierte Erläuterung der Anmerkungen
@SpringBootApplication: Deklarieren Sie den Spring -Boot, um das Programm automatisch mit der erforderlichen Konfiguration zu konfigurieren. Diese Konfiguration entspricht drei Konfigurationen: @Configuration, @enableAutoConfiguration und @Componentscan.
paket com.example.myProject; import org.springframework.boot.springApplication; import org.springframework.boot.autoconfigure.springbootApplication; @springbootApplication // gleich wie @Configuration @enableAutoConfiguration @Componentscan -Klassenanwendung {public static void Main (String [] args) {springapluncyrun (application.classe, args); }}@ResponseBody: Dies bedeutet, dass das Rückgabeergebnis dieser Methode direkt in die HTTP -Antwortkörper geschrieben wird. Es wird im Allgemeinen verwendet, wenn Daten asynchron erhalten werden und zum Erstellen einer erholsamen API verwendet werden. Nach Verwendung @RequestMapping wird der Rückgabewert normalerweise als Sprungpfad analysiert. Nach dem Hinzufügen von @ResponseBody wird das Rückgabeergebnis nicht als Sprungpfad analysiert, sondern direkt in die HTTP -Antwortkörper geschrieben. Wenn Sie beispielsweise JSON -Daten asynchron erhalten und @ResponseBody hinzufügen, werden die JSON -Daten direkt zurückgegeben. Diese Annotation wird im Allgemeinen mit @RequestMapping verwendet. Beispielcode:
@RequestMapping ("/test") @ResponseBody public String test () {return "OK"; }@Controller: Wird verwendet, um die Controller -Klasse zu definieren. Im Frühjahrsprojekt ist der Controller für die Weiterleitung der vom Benutzer gesendeten URL -Anforderung an die entsprechende Serviceschnittstelle (Service Layer) verantwortlich. Im Allgemeinen befindet sich diese Annotation in der Klasse. Normalerweise muss die Methode mit der Annotation @RequestMapping koordiniert werden. Beispielcode:
@Controller @RequestMapping ("/DemoInfo") publicClass DemoConTroller {@autowired private DemoInfoService DemoinfoService; @RequestMapping ("/Hallo") public String Hallo (Karte <String, Objekt> map) {system.outln ("Democontroller.hello (). map.put ("Hallo", von templateController.hellohtml "); // Die Vorlage von Hello.html oder Hello.ftl wird zum Rendern und Anzeigen verwendet. zurück "/hello";}}@RestController: Eine Sammlung von Kontrollschichtkomponenten (z. B. Aktion in Streben), @ResponseBody und @Controller. Beispielcode:
Paket com.kfit.demo.web; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController;@RestController @RequestMapping("/demoInfo2") publicclass DemoController2 {@RequestMapping("/test")public String test(){ return "ok";}}@RequestMapping: Bietet Routing -Informationen und ist für die Zuordnung von URLs zu bestimmten Funktionen in Controller verantwortlich.
@EnableAutoConfiguration: SPRING BOOT Auto-Konfiguration: Versuchen Sie, Ihre Federanwendung automatisch auf der Basis der von Ihnen hinzugefügten JAR-Abhängigkeiten zu konfigurieren. Wenn HSQLDB beispielsweise unter Ihrem Klassenpfad existiert und Sie keine Datenbankverbindungsbohnen manuell konfiguriert haben, konfigurieren wir automatisch eine In-Memory-Datenbank. Sie können die Annotation von @EnableAutoConfiguration oder @springbootApplication zu einer @Configuration -Klasse hinzufügen, um die Autokonfiguration auszuwählen. Wenn Sie feststellen, dass eine bestimmte Autokonkonfigurationsklasse, die Sie nicht möchten, angewendet wird, können Sie das Ausschlussattribut der Annotation @EnableAutoConfiguration verwenden, um sie zu deaktivieren.
@Componentscan: bedeutet, dass die Klasse die Scan -Komponente automatisch entdeckt. Das persönliche Verständnis entspricht dem, wenn Sie eine Klasse mit Anmerkungen wie @Component, @Controller, @Service usw. scannen und sie als Bean registrieren. Sie können automatisch alle Frühlingskomponenten, einschließlich der @Configuration -Klasse, sammeln. Wir verwenden oft @Componentscan Annotation, um nach Bohnen zu suchen und sie in Kombination mit @autowired Annotation zu importieren. Alle Federkomponenten können automatisch gesammelt werden, einschließlich der @Configuration -Klasse. Wir verwenden oft @Componentscan Annotation, um nach Bohnen zu suchen und sie in Kombination mit @autowired Annotation zu importieren. Wenn keine Konfiguration vorliegt, scannt Spring Boot die Klassen unter dem Paket, in dem sich die Startklasse befindet, und das Unterpackung, bei dem die Annotationen von @Service, @Repository usw. verwendet werden, usw.
@Configuration: entspricht einer herkömmlichen XML -Konfigurationsdatei. Wenn einige Bibliotheken von Drittanbietern XML -Dateien verwenden müssen, wird empfohlen, die @Configuration -Klasse weiterhin als Hauptkonfigurationsklasse des Projekts zu verwenden. Sie können die @Importresource -Annotation verwenden, um die XML -Konfigurationsdatei zu laden.
@Import: Wird verwendet, um andere Konfigurationsklassen zu importieren.
@Importresource: Wird zum Laden der XML -Konfigurationsdatei verwendet.
@Autowired: Importieren automatisch abhängige Bohnen
@Service: Komponenten, die im Allgemeinen zur Änderung der Serviceschicht verwendet werden
@Repository: Verwenden der @Repository -Annotation kann sicherstellen, dass DAO oder Repositories eine Ausnahmeübersetzung bieten. Die DAO- oder Repositoriesklasse, die durch diese Annotation geändert wird, werden von Componetscan entdeckt und konfiguriert, und es müssen keine XML -Konfigurationselemente bereitgestellt werden.
@Bean: Verwenden Sie die @Bean Annotation -Methode, um der in XML konfigurierten Bean entsprechen.
@ -Value: Injizieren Sie den Wert der von Spring Boot Application.Properties konfigurierten Eigenschaft. Beispielcode:
@Value (value = "#{message}") private String -Nachricht;@Inject: äquivalent zum Standard @autowired, jedoch ohne das erforderliche Attribut;
@Component: Bezieht sich auf Komponenten im Allgemeinen. Wenn Komponenten nicht einfach zu klassifizieren sind, können wir diese Annotation verwenden, um zu kommentieren.
@Bean: Es entspricht XML, der über eine Methode platziert ist, nicht einer Klasse, was bedeutet, eine Bohne zu generieren und dem Frühlingsmanagement zu übergeben.
@Autowired: Importieren automatisch abhängige Bohnen. Bytype -Methode. Verwenden Sie die konfigurierten Bohnen, um die Montage von Eigenschaften und Methoden zu vervollständigen. Es kann Klassenmitgliedsvariablen, Methoden und Konstruktoren markieren, um die automatischen Montagearbeiten zu vervollständigen. Wenn (erforderlich = Falsch) hinzugefügt wird, wird ein Fehler nicht gemeldet, selbst wenn die Bean nicht gefunden werden kann.
@Qualifier: Wenn mehrere Bohnen desselben Typs vorhanden sind, können Sie @Qualifier ("Name") verwenden, um es anzugeben. Arbeitet mit @autowired. Zusätzlich zur Injektion gemäß dem Namen können @Qualifier -Qualifikationsdeskriptoren verwendet werden, um feinere Granularitätsteuerungen durchzuführen, wie Kandidaten ausgewählt werden. Die spezifische Verwendungsmethode lautet wie folgt:
@Autowired @Qualifier (value = "DemoinfoService") private DemoinfoService DemoinfoService;
@Resource (name = ”name”, type = ”type”): Wenn es keinen Inhalt in Klammern gibt, ist der Standardname. Mach etwas Ähnliches wie @autowired.
3. JPA Notizen
@Entity: @table (name = ""): Zeigt an, dass dies eine Entitätsklasse ist. Im Allgemeinen werden für die beiden Anmerkungen von JPA verwendet, aber wenn der Name der Tabellennamen und der Entitätsklassenname gleich sind, kann @table weggelassen werden.
@MappedSuperClass: Wird verwendet, um die Entität zu bestimmen, die die übergeordnete Klasse ist. Die Attribut -Unterklasse der übergeordneten Klasse kann vererbt werden.
@NorepositoryBean: Im Allgemeinen als Repository der übergeordneten Klasse verwendet. Mit dieser Annotation wird der Frühling das Repository nicht instanziieren.
@Column: Wenn der Feldname mit dem Spaltennamen übereinstimmt, kann er weggelassen werden.
@ID: bedeutet, dass dieses Attribut der Hauptschlüssel ist.
@GeneratedValue (Strategy = GenerationType.Sequence, Generator = "Repair_Seq"): bedeutet, dass die Strategie der Primärschlüsselerzeugung eine Sequenz ist (kann automatisch, identität, nativ usw. sein, automatisch bedeutet sie, dass sie zwischen mehreren Datenbanken wechseln kann) und der Name der angegebenen Sequenz ist Repair_Seq.
@SequenceGeneretor (name = "reparatur_seq", sequencename = "seq_repair", AllocationsSize = 1): Name ist der Name der Sequenz, so dass Sequencename der Sequenzname der Datenbank ist und die beiden Namen konsistent sein können.
@Transient: bedeutet, dass diese Eigenschaft keine Karte in ein Feld in der Datenbanktabelle ist, und das ORM -Framework ignoriert diese Eigenschaft. Wenn ein Attribut keine Feldkarte einer Datenbanktabelle ist, muss es als @Transient gekennzeichnet werden. Andernfalls stand der ORM -Framework standardmäßig als @Basic. @Basic (fetch = fetchType.lazy): Das Tag kann angeben, wie Entitätsattribute geladen werden
@Jsonignore: Die Funktion besteht darin, einige Eigenschaften in der Java -Bean bei der Serialisierung von JSON zu ignorieren, und sowohl die Serialisierung als auch die Deserialisierung sind betroffen.
@Joincolumn (name = ”loginid”): Eins zu eins: Fremdschlüssel in dieser Tabelle, die auf eine andere Tabelle hinweist. Eins-zu-Many: Ein weiterer Tabelle zeigt auf den Fremdschlüssel dieser Tabelle.
@Onetoone, @onetomany, @manytoone: entsprechend Eins zu eins, Eins-zu-Vielfalt und vielen zu eins in der Hibernate-Konfigurationsdatei.
4..
@RequestMapping: @RequestMapping ("/path") bedeutet, dass der Controller alle URL -Anfragen für "/path" behandelt. RequestMapping ist eine Annotation, die zur Behandlung von Anforderungsadressachordnungen verwendet wird, und kann für Klassen oder Methoden verwendet werden.
Für die Verwendung in einer Klasse nehmen alle Methoden, die diese Antwortanforderungen in einer Klasse darstellen, diese Adresse als übergeordnete Pfad an. Diese Annotation hat sechs Attribute:
@RequestParam: Wird vor dem Parameter der Methode verwendet.
@RequestParam String a = request.getParameter ("a"). @PathVariable: PathVariable. Zum Beispiel RequestMapping ("Benutzer/get/mac/{macaddress}") public String getbyMacaddress (@PathVariable String macaddress) {// etwas tun; }Die Parameter müssen die gleichen wie die Namen in den Klammern sein.
5. Globale Ausnahmebehandlung
@ControllerAdvice: Enthält @Component. Kann gescannt werden. Einheitliche Ausnahmebehandlung.
@ExceptionHandler (Exception.class): Wird auf der Methode verwendet, um anzuzeigen, dass Sie die folgende Methode ausführen, wenn Sie auf diese Ausnahme stoßen.
Das obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, es wird für das Lernen aller hilfreich sein und ich hoffe, jeder wird Wulin.com mehr unterstützen.