SpringMVC中一些常用的注解

@Transactional注解
如果提交失败则spring负责回滚

@Target, @Retention
- 元注解

@Target({ ElementType.METHOD})
用于提示该注解使用的地方

@Retention(RetentionPolicy.RUNTIME)
用于提示注释被保留多长时间
- RetentionPolicy.RUNTIME 保留至运行时,可以被反射读取
- RetentionPolicy.SOURCE 源码级别,被编译器抛弃
- RetentionPolicy.CLASS 被编译器保留在编译后的类文件级别,被虚拟机抛弃

@Inherited
实现注解继承(子类会继承自定义注解)

@Documented
表示注释是否能被javadoc处理并保留在文档中

@interface
定义一个注解类

@Aspect
定义切面

@Component
泛指组件(不好归类的时候用这个)

@Order(n)
优先级 - 配置类加载顺序

@Pointcut
定义切点

@Before
通知方法会在目标方法执行之前执行

@AfterReturning
通常方法会在目标方法返回后调用

@SuppressWarnings
对批注的代码元素内部的某些默认警告保持沉默

@ControllerAdvice
控制器增强

@ExceptionHandler(class)
异常处理

@ResponseBody

@RestController
restful的controller

@RequestMapping

@Repository
标注数据访问组件

@Service
标注业务层组件

@JsonInclude(JsonInclude.Include.NON_NULL)
注解可以控制在哪些情况下才将被注解的属性转换成 json,例如只有属性不为 null 时。