springBoot开发中常用注解

一个程序员一生中可能会邂逅各种各样的算法,但总有那么几种,是作为一个程序员一定会遇见且大概率需要掌握的算法。今天就来聊聊这些十分重要的“必抓!”算法吧~

 

一:引言

 在springboot的开发者中,最常见的就是Controller,Service,Mapper,entity,现在每一层都是使用注解对类或对象进行修饰。常见的注解有:@RestController  @RequestMapping  @Autowired  @ApiOperation @PostMapping  @RequestBody  @Service  @Transactional  @Repository @TableName  @Data 那么这些注解都是封装那些算法呢。  

二:常见算法介绍

@RestController 

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

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

@RequestMapping 

在Spring MVC 中使用 @RequestMapping 来映射请求,也就是通过它来指定控制器可以处理哪些URL请求,相当于Servlet中在web.xml中配置


@Autowired 

它可以对类成员变量、方法及构造函数进行标注,让 spring 完成 bean 自动装配的工作。


@ApiOperation

用来构建Api文档,@ApiOperation(value = “接口说明”, httpMethod = “接口请求方式”, response =
“接口返回参数类型”, notes = “接口发布说明”
 
 
@PostMapping  

是一个复合注解,Spring framework 4.3引入了@RequestMapping注释的变体,以更好地表示带注释的方法的语义,作为@RequestMapping(method = RequestMethod.POST)的快捷方式。也就是可以简化成@PostMapping(value="/abc" )即可,主要是方便识记。
 

 
@RequestBody 

@RequestBody主要用来接收前端传递给后端的json字符串中的数据的(请求体中的数据的);而最常用的使用请求体传参的无疑是POST请求了,所以使用@RequestBody接收数据时,一般都用POST方式进行提交。在后端的同一个接收方法里,@RequestBody与@RequestParam()可以同时使用,@RequestBody最多只能有一个,而@RequestParam()可以有多个。
 一个请求,只有一个RequestBody;一个请求,可以有多个RequestParam。

 
@Service 

@Service注解用于类上,标记当前类是一个service类,加上该注解会将当前类自动注入到spring容器中,不需要再在applicationContext.xml文件定义bean了。

 
@Transactional  

@Transactional注解是Spring框架提供的一个用于声明式事务管理的注解。它可以应用在方法或类上,用于标识需要进行事务管理的方法或类。通过使用@Transactional注解,我们可以更加方便地管理事务,保障数据的一致性和可靠性。在介绍@Transactional注解之前,我们先来了解一下事务的基本概念。事务具有四个基本特性:原子性 、一致性」、隔离性和持久性 。
 

 
@Repository 

@Repository 是 Spring 的注解,用于声明一个 Bean。

 
@TableName

@TableName是mybatis-plus中的注解,主要是实现实体类型和数据库中的表实现映射。


@Data

@Data 注解的主要作用是提高代码的简洁,使用这个注解可以省去代码中大量的get()、 set()、 toString()等方法;

 

三:算法总结

 springboot启动流程和顺序

启动流程:初始化一个SpringApplication对象、执行该对象的run方法。

第一部分进行SpringApplication的初始化模块,配置一些基本的环境变量、资源、构造器、监听器。
第二部分实现了应用具体的启动方案,包括启动流程的监听模块、加载配置环境模块、及核心的创建上下文环境模块。
第三部分是自动化配置模块。该模块作为springboot自动配置核心。

spring的注解其实就是封装了xml文件的配置。注解意味着是一种标识,一种记号。代表了已经配置。

 注解列表 

1. @SpringBootApplication:  = @SpringBootConfiguration + @EnableAutoConfiguration + @ComponentScan 组合注解

1.1. @Configuration :     等同于spring的XML配置文件。

1.2 @EnableAutoConfiguration:   开启自动配置(核心注解)。


2. @RestController注解是@Controller和@ResponseBody的合集,表示这是个控制器bean,并且是将函数的返回值直 接填入HTTP响应体中,是REST风格的控制器。

1.4 @Component可配合CommandLineRunner使用,在程序启动后执行一些基础任务。

entity 中时间格式化

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

猜你喜欢

转载自blog.csdn.net/dongjing991/article/details/132403586