@Controller
它的主要目的是让组件扫描将这个类识别为一个组件。Spring的组件扫描功能会自动发现它,并创建一个该类的实例作为Spring上下文中的bean。
在类中对应方法上,视图解析器可以解析 return 的 jsp 或 html 页面,并跳转。若返回 json 等内容到页面,则需要加 @ResponseBody 注解。
@RestController
相当于 @Controller 和 @ResponseBody 两个注解,方法返回 json数据,不返回jsp、html等页面。
@SpringBootTest 和 @WebMvcTest
@SpringBootTest 告诉SpringBoot去寻找一个主配置类(例如带有@SpringBootApplication的配置类),并使用它来启动Spring应用程序上下文。SpringBootTest加载完整的应用程序并注入所有可能的bean,因此速度会很慢。
@WebMvcTest 主要用于controller层测试,只覆盖应用程序的controller层,HTTP请求和响应是Mock出来的,因此不会创建真正的连接。因此需要创建 MockMvc的bean进行模拟接口调用。
如果Controller层对Service层中的其他bean有依赖关系,那么需要使用Mock提供所需的依赖项。WebMvcTest要快得多,因为我们只加载了应用程序的一小部分。
@AutoWired
对类成员变量、方法及构造函数进行标注,完成自动装配。从而代替 set 、ge 方法。
@Api
参考链接:https://www.cnblogs.com/xinglongbing521/p/10258818.html
@Data
lombok插件中的注解。对成员变量提供 get、set、toString等方法。
@Transactional
@RequestBody和@RequestParam
@RequestBody主要用来接收前端传递给后端的json字符串中的数据的(请求体中的数据的);GET方式无请求体,所以使用@RequestBody接收数据时,前端不能使用GET方式提交数据,而是用POST方式进行提交。在后端的同一个接收方法里,@RequestBody与@RequestParam()可以同时使用,@RequestBody最多只能有一个,而@RequestParam()可以有多个。
@ControllerAdvice
这是一个增强的controller。可以实现三个方面的功能:
1.全局异常处理(常用)
2.全局数据绑定
3.全局数据预处理