springWeb所使用到的注解总结

注: 用于复习

1、WEB层

1,与路径相关的
注解 说明
@RequestMapping 在学习了RESTful风格之后主要用在类上,提出公共的路径
@GetMapping 处理传的get请求
@DeleteMapping 处理删除
@PostMapping 处理新增
@PutMapping 处理修改 (这个容易和Post弄混淆,记住-> 谁的注解长谁干的多)

2,声明类

  • @Controller
  • @RestController = @Controller + @ResbonseBody

3,响应

  • @ResbonseBody 用于将对象转为JSON数据

    (上面的一般不写,因为使用同一响应结果Result,所以使用RestController,即在类上统一加过了)

4,请求

注解 说明
@RequestParam 当请求参数是键值对的时候使用
@PathVariable 用于路径传参
@RequestBody 当前端传的是JSON的时候使用
@DateTimeFormat(pattern=“接受的模式”) 处理日期

2、IOC创建对象

  • @Component 一般用于拦截器等配置类上
  • @Controller 控制类上
  • @Service 用于业务逻辑层
  • @Repository 用于数据访问层,但是一般不用,后面用mybatis的@Mapper代替

3、DI 注入

  • @Autowired 自动装配
  • @Qualifier 用于配和Autowired 使用,当接口有两个实现类的时候通过名字区分
  • @Resource(name=“”) 等于上面两个 jdk提供
  • @Primary 用在接口实现类上,用于当接口有两个实现类时,指定哪个实现类优先

4、mybatis注解

声明接口

  • @Mapper

用于SQL注解

  • @Select
  • @Insert
  • @Delete
  • @Update

用于指定参数,早期mybatis版本需要使用,现在基本不用。

@Param

5、Lombok注解

注解 作用
@Getter/@Setter 为所有的属性提供get/set方法
@ToString 会给类自动生成易阅读的 toString 方法
@EqualsAndHashCode 根据类所拥有的非静态字段自动重写 equals 方法和 hashCode 方法
@Data 提供了更综合的生成代码功能(@Getter + @Setter + @ToString + @EqualsAndHashCode)
@NoArgsConstructor 为实体类生成无参的构造器方法
@AllArgsConstructor 为实体类生成除了static修饰的字段之外带有各参数的构造器方法。

常用三个: @Data @AllArgsConstructor @NoArgsConstructor

6、Junit测试的注解

@Test

@Before 所有的测试执行之前执行

@After 之后

@SpringBootTest SpringBoot整合单元测试注解

7、异常处理(全局)

@RestControllerAdvice 声明异常类

@ExceptionHander 异常处理方法

8、声明配置类

@Configuration

9、获取配置文件中的数据

@Value(“${ }”)

10、事务的注解

@Transactional 可用于方法,类和接口上, 一般用于方法上

定义传播行为,常用的两个, propagation = Propagation.REQUIRED (默认)

上面的表示若当前存在事务,就加入到当前事务中

下面表示不管在不在事务中都新建一个事务

@Transactional(propagation = Propagation.REQUIRES_NEW)

11、未完待续。。。

你可能感兴趣的:(mybatis,java,开发语言)