Les annotations courantes dans springboot incluent : 1. SpringBootApplication 2. Référentiel 3. Service 4. RestController 5. ResponseBody ;
Les annotations courantes dans Springboot sont :
1 @SpringBootApplication
Cette annotation est l'annotation principale de Spring Boot. Elle est utilisée sur la classe principale de Spring Boot pour l'identifier en tant qu'application Spring Boot et est utilisée pour activer diverses fonctionnalités de Spring Boot. En fait, cette annotation est une combinaison de trois annotations : @Configuration, @EnableAutoConfiguration et @ComponentScan. Étant donné que ces annotations sont généralement utilisées ensemble, Spring Boot fournit une annotation unifiée @SpringBootApplication.
2. @EnableAutoConfiguration
permet à Spring Boot de configurer automatiquement les annotations. Après avoir activé cette annotation, Spring Boot peut configurer Spring en fonction des packages ou des classes actuels. chemin de classe.
Par exemple : il existe le package Mybatis JAR sous le chemin de classe actuel, et l'annotation MybatisAutoConfiguration peut configurer chaque Spring Bean de Mybatis en fonction des paramètres pertinents.
La clé de l'implémentation de @EnableAutoConfiguration est l'introduction d'AutoConfigurationImportSelector. Sa logique de base est la méthode selectImports. La logique est à peu près la suivante :
● Charger tous les composants possibles à partir du fichier de configuration. META-INF/spring.factories Classes de configuration automatique ;
● Classes de déduplication et d'exclusion portées par les attributs d'exclusion et d'exclusionName
● Filtrer et renvoyer les classes de configuration automatique qui remplissent les conditions (@Conditional) ; ;
3. @Configuration
est utilisé pour définir la classe de configuration, indiquant que cette classe est la source d'informations pour la configuration du Bean, ce qui est équivalent au XML traditionnel. fichier de configuration et est généralement ajouté à la classe principale. Si certaines bibliothèques tierces doivent utiliser des fichiers XML, il est recommandé de toujours utiliser la classe @Configuration comme classe de configuration principale du projet - vous pouvez utiliser l'annotation @ImportResource pour charger le fichier de configuration XML.
4. @ComponentScan
analyse des composants. Laissez Spring Boot analyser la classe Configuration et ajoutez-la au contexte du programme.
L'annotation @ComponentScan assemblera les classes annotées avec @Controller, @Service, @Repository et @Component dans le conteneur Spring par défaut.
5. @Repository
est utilisé pour étiqueter les composants d'accès aux données, c'est-à-dire les composants DAO.
L'utilisation de l'annotation @Repository peut garantir que DAO ou les référentiels fournissent une traduction d'exception. La classe DAO ou les référentiels modifiés par cette annotation sera découverte et configurée par ComponentScan, et il n'est pas nécessaire de fournir des éléments de configuration XML pour eux. .
6. @Service
Composants généralement utilisés pour modifier la couche de service
7 @RestController
Utilisé pour marquer les composants de la couche de contrôle (tels que l'action dans struts), indiquant qu'il s'agit d'un bean contrôleur, et la valeur de retour de la fonction est directement renseignée dans le corps de la réponse HTTP. C'est un contrôleur de style REST, c'est @ ; Contrôleur et collection de @ResponseBody.
8. @ResponseBody
signifie que le résultat de retour de cette méthode est directement écrit dans le corps de la réponse HTTP
est généralement utilisé lors de l'obtention. données de manière asynchrone.Après avoir utilisé @RequestMapping, la valeur de retour est généralement analysée comme un chemin de saut. Après avoir ajouté @responsebody, le résultat renvoyé ne sera pas analysé comme un chemin de saut, mais sera écrit directement dans le corps de la réponse HTTP. Par exemple, si vous obtenez des données json de manière asynchrone et ajoutez @responsebody, les données json seront renvoyées directement.
9. @Component
fait généralement référence à des composants lorsque les composants sont difficiles à classer, nous pouvons utiliser cette annotation pour l'annotation.
10. @Bean
est équivalent à
11. @AutoWired
méthode byType. Utilisez les beans configurés pour terminer l'assemblage des attributs et des méthodes. Il peut annoter les variables, les méthodes et les constructeurs des membres de la classe pour terminer l'assemblage automatique.
Lorsque (required=false) est ajouté, aucune erreur ne sera signalée même si le bean est introuvable.
12. @Qualifier
Lorsqu'il y a plusieurs beans du même type, vous pouvez utiliser @Qualifier("name") pour spécifier. Utilisé conjointement avec @Autowired
13 @Resource(name="name",type="type")
S'il n'y a pas de contenu entre parenthèses, byName. est la valeur par défaut. Faites des choses similaires avec @Autowired.
14. @RequestMapping
RequestMapping est une annotation utilisée pour traiter le mappage d'adresse de demande ; fournit des informations de routage et est responsable du mappage des URL vers des fonctions spécifiques dans le contrôleur disponible. sur une classe ou une méthode. Utilisé sur une classe, cela signifie que toutes les méthodes de la classe qui répondent aux requêtes utilisent cette adresse comme chemin parent.
15. @RequestParam
est utilisé devant les paramètres de la méthode. Exemple :
@RequestParam String a =request.getParameter("a")。
16. @PathVariable
Variable de chemin. Les paramètres doivent être les mêmes que les noms entre accolades. Exemple :
RequestMapping("user/get/mac/{macAddress}") public String getByMacAddress(@PathVariable String macAddress){ //do something; }
17. @Profiles
Les profils Spring fournissent un moyen d'isoler les configurations d'application et permettent d'utiliser ces configurations uniquement dans des environnements spécifiques efficaces ci-dessous.
任何@Component或@Configuration都能被@Profile标记,从而限制加载它的时机。
@Configuration @Profile("prod") public class ProductionConfiguration { // ... }
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; }
以上就是本篇文章的全部内容,希望能对大家的学习有所帮助。更多精彩内容大家可以关注php中文网相关教程栏目!!!
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!