zoukankan      html  css  js  c++  java
  • Spring注解

    1 @deprecated

    表示此方法不再继续维护,可以继续使用,但不建议

    2 @Configuration

    配置文件的注解,代表从配置文件拿配置

    3 @value

    从配置文件拿去具体配置

    4 @Controller, @Service, @Repository,@Componen

    都是实现bean 的注入

    • 允许通过类路径扫描自动检测实现类
    • 它标记的类就是一个SpringMVC Controller 对象。分发处理器将会扫描使用了该注解的类的方法

     

    只是作用的范围不一样

    @controller 作用controller控制层层

    @service 作用service业务层

    @repository 作用于 数据层

    @componen 业务模糊就用这个

    5 @PostConstruct @PreDestroy

    被@PostConstruct修饰的方法会在服务器加载Servlet的时候运行,并且只会被服务器调用一次,类似于Servlet的init()方法。被@PostConstruct修饰的方法会在构造函数之后,init()方法之前运行。

    被@PreDestroy修饰的方法会在服务器卸载Servlet的时候运行,并且只会被服务器调用一次,类似于Servlet的destroy()方法。被@PreDestroy修饰的方法会在destroy()方法之后运行,在Servlet被彻底卸载之前。

    类似 引用的初始化操作

    6 @Primary

    自动装配时当出现多个Bean候选者时,被注解为@Primary的Bean将作为首选者

    7 @Lazy(true)

    懒加载

    多用在依赖的互相引用,造成依赖循环的时候,就要用到这个注解

     

    8 @Autowired @Resource @Inject 注入bean

    Autowired默认先按byType,如果发现找到多个bean,则,又按照byName方式比对,如果还有多个,则报出异常。

    @Resource 默认按 byName自动注入,如果找不到再按byType找bean,如果还是找不到则抛异常,无论按byName还是byType如果找到多个,则抛异常。

    @Inject 等价于默认的@Autowired,只是没有required属性

    9 @Async @EnableAsync 异步执行

    @EnableAsync 作用在类上

    异步调用就是不用等待结果的返回就执行后面的逻辑;

    同步调用则需要等待结果再执行后面的逻辑。

    一般多用在线程池中

     

    10 @Singleton

    单例注解

     

    11 @Valid,@Valided

    @Validated:可以用在类型、方法和方法参数上。但是不能用在成员属性(字段)上 额外提供了一个分组功能

    @Valid:可以用在方法、构造函数、方法参数和成员属性(字段)上

    @Valid 验证注解是否符合要求 一般入参配合@RequestBody,实体在加上注解

    限制 说明

    限制

    说明

    @Null

    限制只能为null

    @NotNull

    限制必须不为null

    @AssertFalse

    限制必须为false

    @AssertTrue

    限制必须为true

    @DecimalMax(value)

    限制必须为一个不大于指定值的数字

    @DecimalMin(value)

    限制必须为一个不小于指定值的数字

    @Digits(integer,fraction)

    限制必须为一个小数,且整数部分的位数不能超过integer,小数部分的位数不能超过fraction

    @Future

    限制必须是一个将来的日期

    @Max(value)

    限制必须为一个不大于指定值的数字

    @Min(value)

    限制必须为一个不小于指定值的数字

    @Past

    限制必须是一个过去的日期

    @Pattern(value)

    限制必须符合指定的正则表达式

    @Size(max,min)

    限制字符长度必须在min到max之间

    @ScriptAssert(lang=,script=, alias=)

     

    @Past

    验证注解的元素值(日期类型)比当前时间早

    @URL(protocol=,host=,port=,regexp=, flags=)

     

    @CreditCardNumber

    信用卡验证

    @NotEmpty

    验证注解的元素值不为null且不为空(字符串长度不为0、集合大小不为0)

    @NotBlank

    验证注解的元素值不为空(不为null、去除首位空格后长度为0),不同于@NotEmpty,@NotBlank只应用于字符串且在比较时会去除字符串的空格

    @Email

    验证注解的元素值是Email,也可以通过正则表达式和flag指定自定义的email格式

    @Range(min=, max=)

    检查数字是否介于min和max之间.

     

     

    12 @RequestBody @Responsebody @ResponseStatus

    @RequestBody入参为json 格式,且请求为post请求

    @Responsebody 出参为json格式

    @ResponseStatus 一种是加载自定义异常类上,一种是加在目标方法中 当修饰一个类的时候,通常修饰的是一个异常类,一个自定义异常类,在自定义异常类上面加上@ResponseStatus注释表示系统运行期间,当抛出自定义异常的时候,使用@ResponseStatus注解中声明的属性和reason属性将异常信息返回给客户端,提高可读性。

    13 @RestController

    @RestController = @Controller + @ResponseBody。

    全局定义

     

    14 @RequestParam @Param

    解决参数不一致的问题,放在参数前面

    @RequestParam 一般用在Controller

    @Param 用在Dao层 多个入参,不指定有时候会报映射找不到

     

     

    15 PathVariable

    url路径值与入参映射,将url的参数传递到入参上面

    16 @RequestHeader @CookieValue

    处理request header部分的注解

     

    17 @GetMapping @PostMapping @RequestMapping

    @RequestMapping 包含了get 与 post 参数不填写,一般用在controller

     

    默认参数

    1、 value, method:

    value:指定请求的实际地址,指定的地址可以是URI Template 模式;

    method:指定请求的method类型, GET、POST、PUT、DELETE等;

     

    18 @Retention @Target @Document @Inherited

     

    19 @Inject @Autowired

    自动注入bean,等价于默认的@Autowired,只是没有required属性

     

    20  

    如果domain中没有重写toString, 且使用了@Data注解, 调用toString时只会打印子类本身的属性值, 如果想要打印父类的属性:

    方式一: 重写tostring

    方式二: 子类加上@Data和@ToString(callSuper = true)两个注解, 父类也使用注解@Data

  • 相关阅读:
    Linux 共享库
    使用Visual Studio(VS)开发Qt程序代码提示功能的实现(转)
    ZOJ 3469 Food Delivery(区间DP)
    POJ 2955 Brackets (区间DP)
    HDU 3555 Bomb(数位DP)
    HDU 2089 不要62(数位DP)
    UESTC 1307 windy数(数位DP)
    HDU 4352 XHXJ's LIS(数位DP)
    POJ 3252 Round Numbers(数位DP)
    HDU 2476 String painter (区间DP)
  • 原文地址:https://www.cnblogs.com/zq1003/p/13964738.html
Copyright © 2011-2022 走看看