@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( ) ;
}
}