Annotations couramment utilisées dans le développement SpringBoot

Un programmeur peut rencontrer divers algorithmes dans sa vie, mais il y a toujours quelques algorithmes qu'un programmeur rencontrera certainement et devra maîtriser avec une forte probabilité. Parlons aujourd’hui de ces algorithmes très importants « à attraper ! » ~

 

Introduction

 Parmi les développeurs Springboot, les plus courants sont Controller, Service, Mapper et Entity. Désormais, chaque couche utilise des annotations pour modifier des classes ou des objets. Les annotations courantes sont : @RestController @RequestMapping @Autowired @ApiOperation @PostMapping @RequestBody @Service @Transactional @Repository @TableName @Data Ces annotations encapsulent donc ces algorithmes.  

Deux : Introduction aux algorithmes courants

@RestController 

  • @RestControllerRemarque, équivalent à @ResponseBody + @Controller
  • 使用@RestController批注对控制器类进行注释, 不再需要将@ResponseBody添加到所有请求映射方法中。@ResponseBody注释默认处于活动状态。

    说明它同时拥有这2注解的功能,@Controller注解表示后,该类将会被spring管理,@ResponseBody注解标识后,响应数据可以是文本或者JSON数据类型。所以这里我们return map的时候,可以直接输出JSON数据。当然@RestController注解属于springmvc的,并不属于springboot的。

@RequestMapping 

Utilisez @RequestMapping pour mapper les requêtes dans Spring MVC, ce qui consiste à spécifier les requêtes URL que le contrôleur peut gérer, ce qui équivaut à une configuration dans web.xml dans Servlet.


@Autowired 

Il peut marquer les variables, les méthodes et les constructeurs des membres de la classe, et laisser Spring terminer le travail d'assemblage automatique du bean.


@ApiOpération

Utilisé pour créer des documents API, @ApiOperation(value = "description de l'interface", httpMethod = "méthode de requête d'interface", réponse = "
type de paramètre de retour d'interface", notes = "description de la version de l'interface"
 
 
@PostMapping  

Étant une annotation composite, Spring Framework 4.3 a introduit une variante de l'annotation @RequestMapping pour mieux représenter la sémantique de la méthode annotée, en tant que raccourci pour @RequestMapping(method = RequestMethod.POST). C'est-à-dire qu'il peut être simplifié en @PostMapping(value="/abc" ), principalement pour la commodité de la mémorisation.
 

 
@RequestBody 

@RequestBody est principalement utilisé pour recevoir les données de la chaîne json transmises du front-end au backend (données dans le corps de la requête) ; et le corps de requête le plus couramment utilisé pour transmettre les paramètres est sans aucun doute la requête POST, donc lors de l'utilisation de @RequestBody pour recevoir des données, généralement soumises par POST. Dans la même méthode de réception du backend, @RequestBody et @RequestParam() peuvent être utilisés en même temps, @RequestBody ne peut en avoir qu'un au maximum et @RequestParam() peut en avoir plusieurs.
 Une requête n’a qu’un seul RequestBody ; une requête peut avoir plusieurs RequestParams.

 
@Service 

L'annotation @Service est utilisée sur la classe pour marquer la classe actuelle comme classe de service. L'ajout de cette annotation injectera automatiquement la classe actuelle dans le conteneur Spring, et il n'est pas nécessaire de définir des beans dans le fichier applicationContext.xml.

 
@Transactionnel  

L'annotation @Transactional est une annotation fournie par le framework Spring pour la gestion déclarative des transactions. Il peut être appliqué à des méthodes ou des classes pour identifier les méthodes ou les classes qui nécessitent une gestion des transactions. En utilisant l'annotation @Transactional, nous pouvons gérer les transactions plus facilement et garantir la cohérence et la fiabilité des données. Avant de présenter l'annotation @Transactional, comprenons d'abord le concept de base des transactions. Les transactions ont quatre propriétés fondamentales : l’atomicité, la cohérence, l’isolement et la durabilité.
 

 
@Dépôt 

@Repository est une annotation Spring utilisée pour déclarer un Bean.

 
@Nom de la table

@TableName est une annotation dans mybatis-plus, principalement pour implémenter le mappage entre les types d'entités et les tables de la base de données.


@Données

La fonction principale de l'annotation @Data est d'améliorer la simplicité du code.L'utilisation de cette annotation peut économiser beaucoup de méthodes get(), set(), toString() et autres dans le code ;

 

Troisième : résumé de l'algorithme

 processus et séquence de démarrage de Springboot

Processus de démarrage : initialisez un objet SpringApplication et exécutez la méthode run de l'objet.

La première partie est le module d'initialisation de SpringApplication et configure certaines variables d'environnement de base, ressources, constructeurs et écouteurs.
La deuxième partie implémente le schéma de démarrage spécifique de l'application, y compris le module de surveillance du processus de démarrage, le module d'environnement de configuration de chargement et le module d'environnement de contexte de création de base.
La troisième partie est le module de configuration automatique. Ce module constitue le cœur de la configuration automatique de Springboot.

L'annotation de spring est en fait la configuration qui encapsule le fichier XML. L'annotation est censée être une sorte d'identification, une sorte de marque. Indique qu'il a été configuré.

 Liste d'annotations 

1. @SpringBootApplication: = @SpringBootConfiguration + @EnableAutoConfiguration + @ComponentScan

1.1. @Configuration : équivalent au fichier de configuration XML de Spring.

1.2 @EnableAutoConfiguration : Activer la configuration automatique (annotation principale).


2. L'annotation @RestController est une collection de @Controller et @ResponseBody, indiquant qu'il s'agit d'un bean contrôleur et qu'il s'agit d'un contrôleur de style REST qui remplit directement la valeur de retour de la fonction dans le corps de la réponse HTTP.

1.4 @Component peut être utilisé avec CommandLineRunner pour effectuer certaines tâches de base après le démarrage du programme.

Formatage de l'heure dans l'entité

	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	private Date createTime;

 

Je suppose que tu aimes

Origine blog.csdn.net/dongjing991/article/details/132403586
conseillé
Classement