Spring Boot 注解
2018-08-13 本文已影响0人
是瑞瀛呀
@RestController:控制层定义成rest风格,响应以json响应 相当于responseentity or controller+responseBody
@Configuration:被该注解修饰的类内 所有被@Bean修饰的方法都会被动态代理,
故:被Configuration修饰的类 不能被final修饰。因为cglib动态代理会通过asm为被代理类生成子类在运行时增强。
@ControllerAdvice:
@ExceptionHandler(value = Exception.class):对Exception异常拦截
@ResponseStatus
@InitBinder:用于接收一次表单提交给接口多个对象的请求的数据解析,比如一个表单包含俩对象 a和b
@Controller
public class HelloController extends BaseController{
@InitBinder("a")
public void initBinder1(WebDataBinder binder){
binder.setFieldDefaultPrefix("a.");
}
@InitBinder("b")
public void initBinder2(WebDataBinder binder){
binder.setFieldDefaultPrefix("b.");
}
@RequestMapping(value="/save", method = RequestMethod.POST)
public ModelAndView save(A a,B b) {
System.out.println(teacher.getName()+" "+student.getName());
return null;
}
}
@ComponentScan({}):扫描Bean Component 及包含该注解等,生成实例
Retention:定义注解有效状态RetentionPolicy.SOURCE源码时有效,CLASS编译时有效,Runtime运行时有效
@Target:注解可以修饰对象的范围,CONSTRUCTOR构造器,FIELD域,LOCAL_VARIABLE局部变量,PARAMETER参数,METHOD方法,TYPE类,PACKAGE包
@Inherited:任意一注解A使用该注解修饰后,注解A被应用到任意类B后,类B的子类都会被注解A影响()
@Cacheable:可以修饰方法/类,修饰类相当于修饰所有方法,效果是对当前方法的入参及方法结果进行缓存,方便下次调用时候取
@CacheEvict:
@CachePut: