• @Component:这将 java 类标记为 bean。它是任何 Spring 管理组件的通用构造型。spring 的组件扫描机制现在可以将其拾取并将其拉入应用程序环境中
  • @Controller:这将一个类标记为 Spring Web MVC 控制器。标有它的 Bean 会自动导入到 IoC 容器中
  • @RestController:返回restful风格的结果
  • @Service:此注解是组件注解的特化。它不会对 @Component 注解提供任何其他行为。您可以在服务层类中使用 @Service 而不是 @Component,因为它以更好的方式指定了意图
  • @Repository:这个注解是具有类似用途和功能的 @Component 注解的特化。它为 DAO 提供了额外的好处。它将 DAO 导入 IoC 容器,并使未经检查的异常有资格转换为 Spring DataAccessException
  • @RequestParam:获得请求参数部分,其中三个参数:required 表示是否必须,默认为 true,必须;defaultValue 可设置请求参数的默认值;value 为接收url的参数名(相当于key值)
@PostMapping("import")
    public R batchImport(@RequestParam("file") MultipartFile file) {...}
  • @RequestBody:POST中为Json字符串部分,GET中不可用
@PutMapping("update")
    public R updateById(@RequestBody Teacher teacher){...}
  • @PathVariable:通过 @PathVariable 可以将URL中占位符参数{xxx}绑定到处理器类的方法形参中@PathVariable(“xxx“)
@GetMapping("get/{id}")
    public R getById(@PathVariable String id){...}
  • @Mapper:不需要配置扫描地址,通过xml里面的namespace里面的接口地址,生成了Bean后注入到Service层中
  • @Repository:需要在Spring中配置扫描地址,然后生成Dao层的Bean才能被注入到Service层中。
  • @ControllerAdvice:是Spring3.2提供的新注解,它是一个Controller增强器,可对controller中被 @RequestMapping注解的方法加一些逻辑处理。最常用的就是异常处理,需要配合@ExceptionHandler使用。当异常抛到controller时,可以对异常进行统一处理,规定返回的json格式或是跳转到一个错误页面
@ControllerAdvice
public class GlobalExceptionHandler {

    @ExceptionHandler(Exception.class)
    @ResponseBody
    public R error(Exception e){
        //后台记录日志,可通过配置xml记录到日志文件中去
        log.error(ExceptionUtils.getMessage(e));
        //返回json数据
        return R.error();
    }
}
Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐