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

  • 相关阅读:
    python 编码格式
    mysql 允许特定IP访问
    mysql “Too many connections” 解决办法
    python 微信支付
    python RSA 加密与签名
    给列表里添加字典时被最后一个覆盖
    设置MySQL允许外网访问
    Python中print/format字符串格式化实例
    ssh 将22端口换为其它 防火墙设置
    linux ubuntu nethogs安装与介绍
  • 原文地址:https://www.cnblogs.com/zq1003/p/13964738.html
Copyright © 2011-2022 走看看