SpringBoot 注解大全,花式注解

@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:

你可能感兴趣的:(springboot)