先赞后看,养成习惯!!!❤️ ❤️ ❤️
文章码字不易,如果喜欢可以关注我哦!
如果本篇内容对你有所启发,欢迎访问我的个人博客了解更多内容:链接地址
Spring + Spring MVC + MyBatis
注解 |
所属框架 |
作用 |
|
1 |
@Component |
Spring |
添加在类上,标记当前类是组件类,可以通过参数配置Spring Bean名称 |
2 |
@Controller |
Spring |
添加在类上,标记当前类是控制器组件类,用法同@Component |
3 |
@Service |
Spring |
添加在类上,标记当前类是业务逻辑组件类,用法同@Component |
4 |
@Repository |
Spring |
添加在类上,标记当前类是数据访问组件类,用法同@Component |
5 |
@Configuration |
Spring |
添加在类上,仅添加此注解的类才被视为配置类,通常不配置注解参数 |
6 |
@ComponentScan |
Spring |
添加在配置类上,开启组件扫描。 如果没有配置包名,则扫描当前配置类所在的包, 如果配置了包名,则扫描所配置的包及其子孙包 |
7 |
@Value |
Spring |
添加在属性上,或添加在被Spring调用的方法的参数上,用于读取Environment中的属性值,为对象的属性或方法的参数注入值 |
8 |
@Autowired |
Spring |
添加在属性上,使得Spring自动装配此属性的值 添加在构造方法上,使得Spring自动调用此构造方法 添加在Setter方法上,使得Spring自动调用此方法 |
9 |
@Qualifier |
Spring |
添加在属性上,或添加在方法的参数上, 配合自动装配机制,用于指定需要装配的Spring Bean的名称 |
10 |
@Resource |
Spring |
此注解是javax包中的注解, 添加在属性上,使得Spring自动装配此属性的值, 通常不推荐使用此注解 |
11 |
@Scope |
Spring |
添加在组件类上,或添加在已经添加了@Bean注解的方法上, 用于指定作用域,注解参数为singleton(默认)时为“单例”,注解参数为prototype时为“非单例” |
12 |
@Mapper |
Mybatis |
添加在Mapper接口上,用于标记此接口是Mybatis的Mapper接口 |
13 |
@MapperScan |
Mybatis |
添加在配置类上,用于指定Mapper接口的根包,Mybatis将根据此根包执行扫描,以找到各Mapper接口 |
14 |
@Select |
Mybatis |
添加在Mapper接口的抽象方法上,可以通过此注解直接配置此抽象方法对应的SQL语句(不必将SQL语句配置在XML文件中),用于配置SELECT类的SQL语句,但是,非常不推荐这种做法 |
15 |
@Insert |
Mybatis |
同上,用于配置INSERT类的SQL语句 |
16 |
@Update |
Mybatis |
同上,用于配置UPDATE类的SQL语句 |
17 |
@Delete |
Mybatis |
同上,用于配置DELETE类的SQL语句 |
18 |
@SpringBootApplication |
Spring Boot |
添加在类上,用于标记此类是Spring Boot的启动类,每个Spring Boot项目应该只有1个类添加了此注解 |
19 |
@SpringBootTest |
Spring Boot |
添加在类上,用于标记此类是加载Spring环境的测试类 |
20 |
@Test |
Spring Boot |
添加在方法上,用于标记此方法是Spring环境的测试方法 |
21 |
@RequestMapping |
Spring MVC |
添加在类上,也可以添加在处理请求的方法上, 通常用于配置请求路径 |
22 |
@ResponseBody |
Spring MVC |
添加在方法上,标记此方法是“响应正文”的, 添加在类上,标记此类中所有方法都是“响应正文”的 |
23 |
@RestController |
Spring MVC |
添加在类上,标记此类是一个“响应正文”的控制器类 |
24 |
@GetMapping |
Spring MVC |
添加在方法上,是将请求方式限制为GET的@RequestMapping |
25 |
@PostMapping |
Spring MVC |
添加在方法上,是将请求方式限制为POST的@RequestMapping |
26 |
@DeleteMapping |
Spring MVC |
添加在方法上,是将请求方式限制为DELETE的@RequestMapping |
27 |
@PutMapping |
Spring MVC |
添加在方法上,是将请求方式限制为PUT的@RequestMapping |
28 |
@PathVariable |
Spring MVC |
添加在请求参数上,用于标记此参数的值来自URL中的占位符,如果URL中的占位符名称与方法的参数名称不同,需要配置此注解参数来指定URL中的占位符名称 |
29 |
@RequestBody |
Spring MVC |
添加在请求参数上,用于标记此参数必须是对象格式的参数,如果未添加此注解,参数必须是FormData格式的 |
30 |
@ExceptionHandler |
Spring MVC |
添加在方法上,标记此方法是处理异常的方法,可以通过配置注解参数来指定需要处理的异常类型,如果没有配置注解参数,所处理的异常类型取决于方法的参数列表中的异常类型 |
31 |
@ControllerAdvice |
Spring MVC |
添加在类上,标记此类中特定的方法将作用于每次处理请求的过程中 |
32 |
@RestControllerAdvice |
Spring MVC |
添加在类上,是@ControllerAdvice和@ResponseBody的组合注解 |
33 |
@Data |
Lombok |
添加在类上,将在编译期生成此类中所有属性的Setter、Getter方法,及hashCode()、equals()、toString()方法 |
34 |
@Setter |
Lombok |
添加在类上,将在编译期生成此类中所有属性的Setter方法,也可以添加在类的属性上,将在编译期生成此属性的Setter方法 |
35 |
@Getter |
Lombok |
添加在类上,将在编译期生成此类中所有属性的Getter方法,也可以添加在类的属性上,将在编译期生成此属性的Getter方法 |
36 |
@ToString |
Lombok |
添加在类上,将在编译期生成基于此类中所有属性的toString()方法 |
37 |
@NoArgConstructor |
Lombok |
添加在类上,将在编译期生成此类的无参数构造方法 |
38 |
@AllArgsConstructor |
Lombok |
添加在类上,将在编译期生成基于此类中所有属性的全参构造方法 |
39 |
@Api |
Knife4j |
添加在控制器类上,通过此注解的tags属性配置API文档中的模块名称 |
40 |
@ApiOperation |
Knife4j |
添加在控制器类中处理请求的方法上,用于配置业务名称 |
41 |
@ApiModelProperty |
Knife4j |
添加在封装的请求参数类型中的属性上,用于配置请求参数的详细说明,包括:名称、数据类型、是否必须等 |
42 |
@ApiImplicitParam |
Knife4j |
添加在控制器类中处理请求的方法上,用于配置请求参数的详细说明,包括:名称、数据类型、是否必须等 |
43 |
@ApiImplicitParams |
Knife4j |
添加在控制器类中处理请求的方法上,如果需要通过@ApiImplicitParam注解配置的参数超过1个,则必须将多个@ApiImplicitParam注解作为此注解的参数 |
44 |
@ApiIgnore |
Knife4j |
添加在请求参数上,用于标记API文档中将不关心此参数 |
45 |
@Valid |
Spring Validation |
添加在方法的参数上,标记此参数需要经过Validation框架的检查 |
46 |
@Validated |
Spring Validation |
添加在方法的参数上,标记此参数需要经过Validation框架的检查;添加在类上,并结合方法上的检查注解(例如@NotNull等)实现对未封装的参数的检查 |
47 |
@NotNull |
Spring Validation |
添加在需要被检查的参数上,或添加在需要被检查的封装类型的属性上,用于配置“不允许为null”的检查规则 |
48 |
@NotEmpty |
Spring Validation |
使用位置同@NotNull,用于配置“不允许为空字符串”的检查规则 |
49 |
@NotBlank |
Spring Validation |
使用位置同@NotNull,用于配置“不允许为空白”的检查规则 |
50 |
@Pattern |
Spring Validation |
使用位置同@NotNull,用于配置正则表达式的检查规则 |
51 |
@Range |
Spring Validation |
使用位置同@NotNull,用于配置“数值必须在某个取值区间”的检查规则 |
类注解,在springMVC控制器类定义上方
作用是设定springMVc的核心控制器bean
名称 |
@ResponseBody |
类型 |
类注解或方法注解 |
位置 |
SpringMVC控制器类或方法定义上方 |
作用 |
|
@RequestParam |
|
类型 |
形参注解 |
位置 |
SpringMVC控制器方法形参定义前面 |
作用 |
绑定请求参数与处理器方法形参间的关系 |
相关参数 |
required:是否为必传参数 defaultValue:参数默认值 |
@EnableWebMvc
==注意:SpringMVC的配置类把@EnableWebMvc当做标配配置上去,不要省略==
名称 |
@EnableWebMvc |
类型 |
==配置类注解== |
位置 |
SpringMVC配置类定义上方 |
作用 |
开启SpringMVC多项辅助功能 |
名称 |
@RequestBody |
类型 |
==形参注解== |
位置 |
SpringMVC控制器方法形参定义前面 |
作用 |
将请求中请求体所包含的数据传递给请求参数,此注解一个处理器方法只能使用一次 |
@RequestBody与@RequestParam区别
名称 |
@DateTimeFormat |
类型 |
==形参注解== |
位置 |
SpringMVC控制器方法形参前面 |
作用 |
设定日期时间型数据格式 |
相关属性 |
pattern:指定日期时间格式字符串 |
名称 |
@PathVariable |
类型 |
==形参注解== |
位置 |
SpringMVC控制器方法形参定义前面 |
作用 |
绑定路径参数与处理器方法形参间的关系,要求路径参数名与形参名一一对应 |
关于接收参数,我们学过三个注解@RequestBody、@RequestParam、@PathVariable,这三个注解之间的区别和应用分别是什么?