注解大全 (内含 jdk、junit、mybatis、spring 和 springmvc、json注解)

注解总结

 jdk

  • @Override  表示加了注解的方法要符合方法重写的规则
  • @Deprecated 表示加了此注解的方法已过期
  • @FunctionalInterface 加在接口上,表示这个接口中只有一个抽象方法(函数接口)

 junit

一般用法

  • @Test  加在方法上,表示此方法是一个测试的入口

用在spring中,添加以下两个注解

  1. @Runwith(SpringJUnit4ClassRunner.class)
  2. @ContextConfiguration("classpath:spring配置文件位置")

 mybatis

  • @Select  加在接口的方法上,用来定义 select sql 语句
  • @Insert  加在接口的方法上,用来定义 insert sql 语句
  • @Update  加在接口的方法上,用来定义 update sql 语句
  • @Delete  加在接口的方法上,用来定义 delete sql 语句
  • @Options(useGeneratedKeys = true, keyProperty = "sid") 配合 @Insert 添加一些选项
  • @Param 注解 - 加在方法参数上,mapper 有多个参数时,用它把 #{} 值与方法映射

spring 

控制反转

  • @Component     - 比较通用,加在不属于3层的类上
  • @Controller         - 加在控制类上,属于表现层
  • @Service            - 加在业务逻辑类上,属于业务逻辑层(服务层)
  • @Repository       - 加在数据访问类上(dao)
  • @RestController - 除了@Controller的功能外,还会认为控制器中每个方法都加了 @ResponseBody 注解
  • @PostConstruct - 加在方法上,表示它是初始化方法
  • @PreDestory      - 加在方法上,表示它是销毁方法
  • @Scope              - 加在类上,用来控制对象个数(singleton单例,prototype 多例)
  • @Lazy                 - 加在类上,表示此对象用到时才创建和初始化

依赖注入

  • @Autowried - 加在属性、set方法、构造方法,用来给属性进行依赖注入 (根据类型匹配)
  • @Resource  - 加在属性、set方法、构造方法,用来给属性进行依赖注入 (根据名字匹配,如果名字匹配不上,再用类型匹配)

事务

  • @Transactional  加在方法上,表示这个方法需要事务控制,方法如果出现未检查异常,回滚事务,否则提交事务
  • @Transactional(rollbackFor="异常类型.class")
  • @Transactional(readOnly="true|false", timeout="超时时间", isolation="隔离级别", propagation="传播行为")

aop

  • @Aspect 加在类上,表示切面
  • @Around 环绕通知,加在方法上,里面写切点表达式
  • @Before 前置通知,在目标之前被执行
  • @After  后置通知,在目标之后总会被执行
  • @AfterReturning 正常返回通知, 在目标正常结束后执行
  • @AfterThrowing  异常返回通知,在目标出现异常时执行

springmvc

  • @RequestMapping(url路径) 加在方法上,用来映射请求地址和控制器方法
  • @GetMapping - 只能处理 get
  • @PostMapping - 只能处理 post
  • @PutMapping - 只能处理 put
  • @DeleteMapping - 只能处理 delete
  • @PathVarible("参数名") - 加在方法参数上,把路径参数与方法参数映射
  • @RequestParam(defaultValue = "1") - 加在方法参数上,表示请求参数不存在时,给方法参数一个默认值
  • @DateTimeFormat(pattern="日期格式") 加在方法参数或属性上, 用来控制请求参数转换为java中的日期类型
  • @ExceptionHandler(异常类型.class) 加在方法上,表示此方法专门处理异常
  • @ControllerAdvice 加在类上,用来配合 @ExceptionHandler 实现全局的异常处理
  • @ResponseBody 加在方法上, 把控制器方法的返回结果转为 json 
  • @RequestBody 加在方法参数上, 把客户端post请求中传来的 json 字符串,转为 java 对象
  • @CrossOrigin("url地址") 加在方法或类上,表示仅允许这个地址获取此控制器方法返回的json数据

jackson

  • @JsonFormat(pattern="日期格式", timezone="GMT+8")  用来转换json时定义日期的格式
  • @JsonIgnore 加在属性上,表示转换时忽略此属性
  • @JsonProperty("新属性名") 加在属性上,用来在转换时改变属性的名字

总结

学到有新的再继续添加,如果大家又补充的话欢迎下面留言。

猜你喜欢

转载自blog.csdn.net/grey_mouse/article/details/87915117