Heim > häufiges Problem > Was sind die üblichen Anmerkungen für Springboot?

Was sind die üblichen Anmerkungen für Springboot?

青灯夜游
Freigeben: 2020-09-08 16:30:51
Original
92876 Leute haben es durchsucht

Gemeinsame Anmerkungen in Springboot: 1. SpringBootApplication; 4. RestController; 6. Component;

Was sind die üblichen Anmerkungen für Springboot?

Gemeinsame Anmerkungen in Springboot sind:

1. @SpringBootApplication

Diese Annotation ist die Kernannotation von Spring Boot. Sie wird in der Hauptklasse von Spring Boot verwendet, um diese als Spring Boot-Anwendung zu identifizieren und um verschiedene Funktionen von Spring Boot zu aktivieren. Tatsächlich ist diese Annotation eine Kombination aus drei Annotationen: @Configuration, @EnableAutoConfiguration und @ComponentScan. Da diese Annotationen im Allgemeinen zusammen verwendet werden, bietet Spring Boot eine einheitliche Annotation @SpringBootApplication.

2. @EnableAutoConfiguration

ermöglicht Spring Boot, Annotationen automatisch zu konfigurieren. Nach dem Aktivieren dieser Annotation kann Spring Boot Spring basierend auf den Paketen oder Klassen im aktuellen konfigurieren Klassenpfad.

Zum Beispiel: Unter dem aktuellen Klassenpfad befindet sich das Mybatis-JAR-Paket, und die Annotation MybatisAutoConfiguration kann jede Spring Bean von Mybatis gemäß relevanten Parametern konfigurieren.

Der Schlüssel zur Implementierung von @EnableAutoConfiguration ist die Einführung von AutoConfigurationImportSelector. Seine Kernlogik ist die selectImports-Methode. Die Logik ist ungefähr wie folgt:

● Laden Sie alle möglichen Komponenten aus der Konfigurationsdatei META-INF/spring.factories Automatische Konfigurationsklassen

● Deduplizierung und Ausschluss von Klassen, die von den Attributen „exclude“ und „excludeName“ getragen werden; ;

3. @Configuration

wird verwendet, um die Konfigurationsklasse zu definieren, was darauf hinweist, dass diese Klasse die Informationsquelle für die Bean-Konfiguration ist, die dem herkömmlichen XML entspricht Konfigurationsdatei und wird im Allgemeinen zur Hauptklasse hinzugefügt. Wenn einige Bibliotheken von Drittanbietern XML-Dateien verwenden müssen, wird empfohlen, weiterhin die Klasse @Configuration als Hauptkonfigurationsklasse des Projekts zu verwenden. Sie können die Annotation @ImportResource verwenden, um die XML-Konfigurationsdatei zu laden.

4. @ComponentScan

Komponentenscan. Lassen Sie Spring Boot die Konfigurationsklasse scannen und zum Programmkontext hinzufügen.


Die Annotation @ComponentScan fügt mit @Controller, @Service, @Repository und @Component annotierte Klassen standardmäßig im Spring-Container zusammen.

5. @Repository

wird zum Markieren von Datenzugriffskomponenten, also DAO-Komponenten, verwendet.

Durch die Verwendung der @Repository-Annotation kann sichergestellt werden, dass DAO oder Repositorys eine Ausnahmeübersetzung bereitstellen. Die durch diese Annotation geänderte DAO- oder Repository-Klasse wird von ComponentScan erkannt und konfiguriert, und es besteht keine Notwendigkeit, XML-Konfigurationselemente für sie bereitzustellen .

6. @Service

Komponenten, die im Allgemeinen zum Ändern der Serviceschicht verwendet werden

7. @RestController

Wird zum Markieren von Komponenten der Kontrollebene (z. B. Aktionen in Struts) verwendet, um anzuzeigen, dass es sich um eine Controller-Bean handelt, und der Rückgabewert der Funktion wird direkt in den HTTP-Antwortkörper eingefügt. Es handelt sich um einen Controller im REST-Stil. Controller und Sammlung von @ResponseBody.

8. @ResponseBody

bedeutet, dass das Rückgabeergebnis dieser Methode beim Abrufen im Allgemeinen direkt in den HTTP-Antworttext geschrieben wird Daten asynchron. Nach der Verwendung von @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 den HTTP-Antworttext geschrieben. Wenn Sie beispielsweise JSON-Daten asynchron abrufen und @responsebody hinzufügen, werden die JSON-Daten direkt zurückgegeben.

9. @Component

bezieht sich im Allgemeinen auf Komponenten, die schwer zu klassifizieren sind, wir können diese Annotation zur Annotation verwenden.

10. @Bean

entspricht , platziert über der Methode statt der Klasse, was bedeutet, dass es generiert wird Eine Bohne und bis zum Frühling fertig.

11. @AutoWired

byType-Methode. Verwenden Sie die konfigurierten Beans, um die Assemblierung von Attributen und Methoden abzuschließen. Sie können Klassenmitgliedsvariablen, -methoden und -konstruktoren mit Anmerkungen versehen, um die automatische Assemblierung abzuschließen. Wenn (required=false) hinzugefügt wird, wird kein Fehler gemeldet, auch wenn die Bean nicht gefunden werden kann.

12. @Qualifier

Wenn mehrere Beans desselben Typs vorhanden sind, können Sie @Qualifier("name") zur Angabe verwenden. Wird in Verbindung mit @Autowired verwendet

13. @Resource(name="name",type="type")

Wenn in Klammern kein Inhalt steht, byName ist die Standardeinstellung. Machen Sie ähnliche Dinge mit @Autowired.

14. @RequestMapping

RequestMapping ist eine Annotation, die zur Verarbeitung von Anforderungsadressenzuordnungen verwendet wird und für die Zuordnung von URLs zu bestimmten Funktionen im Controller verantwortlich ist auf einer Klasse oder Methode. Bei einer Klasse bedeutet dies, dass alle Methoden in der Klasse, die auf Anfragen antworten, diese Adresse als übergeordneten Pfad verwenden.

15. @RequestParam

wird vor den Parametern der Methode verwendet. Beispiel:

@RequestParam String a =request.getParameter("a")。
Nach dem Login kopieren

16, @PathVariable

Pfadvariable. Die Parameter müssen mit den Namen in den geschweiften Klammern übereinstimmen. Beispiel:

RequestMapping("user/get/mac/{macAddress}")
public String getByMacAddress(@PathVariable String macAddress){
  //do something;
}
Nach dem Login kopieren

17, @Profiles

Spring-Profile bieten eine Möglichkeit, Anwendungskonfigurationen zu isolieren und zu ermöglichen, dass diese Konfigurationen nur in bestimmten Umgebungen wirksam werden.

任何@Component或@Configuration都能被@Profile标记,从而限制加载它的时机。

@Configuration
@Profile("prod")
public class ProductionConfiguration {
    // ...
}
Nach dem Login kopieren

18、@ConfigurationProperties

Spring Boot可使用注解的方式将自定义的properties文件映射到实体bean中,比如config.properties文件。

@Data
@ConfigurationProperties("rocketmq.consumer")
public class RocketMQConsumerProperties extends RocketMQProperties {
    private boolean enabled = true;
    private String consumerGroup;
    private MessageModel messageModel = MessageModel.CLUSTERING;
    private ConsumeFromWhere consumeFromWhere = ConsumeFromWhere.CONSUME_FROM_LAST_OFFSET;
    private int consumeThreadMin = 20;
    private int consumeThreadMax = 64;
    private int consumeConcurrentlyMaxSpan = 2000;
    private int pullThresholdForQueue = 1000;
    private int pullInterval = 0;
    private int consumeMessageBatchMaxSize = 1;
    private int pullBatchSize = 32;
}
Nach dem Login kopieren

以上就是本篇文章的全部内容,希望能对大家的学习有所帮助。更多精彩内容大家可以关注php中文网相关教程栏目!!!

Das obige ist der detaillierte Inhalt vonWas sind die üblichen Anmerkungen für Springboot?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage