2020-02-20

3701 ワード

庚子鼠年戊寅月葵巳の日
説明
Springboot学習
テクニカルブログ:https://blog.csdn.net/qq_40674583/article/details/104419886
エッセイ
jsr 303検査
注記Target:注記の役割目標
@Target(ElementType.TYPE)——  、 、  、  
@Target(ElementType.FIELD)——  、     
@Target(ElementType.METHOD)——  
@Target(ElementType.PARAMETER)——    
@Target(ElementType.CONSTRUCTOR) ——    
@Target(ElementType.LOCAL_VARIABLE)——    
@Target(ElementType.ANNOTATION_TYPE)——  
@Target(ElementType.PACKAGE)—— 

注記@Retention(注記が存在するタイミング)
           3 :
1、RetentionPolicy.SOURCE:         , Java     class     ,     ;
2、RetentionPolicy.CLASS:      class  , jvm  class       ,         ;
3、RetentionPolicy.RUNTIME:        class   ,jvm  class    ,    ;
 3          :Java   (.java  ) ---> .class   --->        。

注記@Repeatable@Repeatableはjdk 8に追加された注釈であり、Springの@ComponentScanのような注釈を使用する.@Repeatableの注釈がない注釈では、同じ場所で同じ注釈を使用するとエラーが報告され、このメタ注釈の注釈があれば、同じ場所で同じ注釈を使用することができます.その公式文書は以下の通りです.@Value注記のメタ注記@Repeatableの値は、@Values注記を使用し、@Values注記に含まれる値タイプは@Value注記の配列です!これは、公式ドキュメントの@Repeatableの中値の使用を説明します.
@Repeatable(Skills.class)   // Skills            
public class AnnotationClass {
    @Value("hello")
    @Value("world")
    public void test(String var1, String var2) {
        System.out.println(var1 + " " + var2);
    }
}


JSR 303の基本的なチェックルール空チェック@Null 検証対象がnull @NotNull検証対象がnullでないかどうか、長さが0の文字列@NotBlankをチェックできない制約文字列がNullであるかどうか、Trimである長さが0より大きいかどうか、文字列のみに対して前後のスペースが抜ける.@NotEmpty拘束要素がNULLかEMPTYかをチェックする.
Booelan @AssertTrue Booleanオブジェクトがtrue @AssertFalseであるかどうかを確認Booleanオブジェクトがfalseであるかどうかを確認
長さ検査@Size(min=, max=)検証対象(Array,Collection,Map,String)の長さが所定の範囲内であるかどうか@Length(min=, max=) Validates that the annotated string is between min and max included.
日付チェック@Past DateとCalendarオブジェクトが現在時刻より前であるか否かを検証し、検証が成立すると注釈される要素は必ず過去の日付@Future DateとCalendarオブジェクトが現在時刻より後であるか否かを検証し、検証が成立すると注釈される要素は必ず将来の日付@Patternである.Stringオブジェクトが正規表現のルールに合致するかどうかを検証する.注釈される要素は制定された正規表現に合致する.regexp:正規表現flags:指定Pattern.Flagの配列は、正規表現に関するオプションを表します.
数値チェックはStirng、Integerタイプ、intタイプで使用することを推奨します.フォーム値が「」の場合はintに変換できないため、しかし、Stirngから「」に変換できます.「Integerはnull @Min NumberとStringオブジェクトが指定した値と大きいかどうかを検証する@Max NumberとStringオブジェクトが指定した値と小さいかどうかを検証する@DecimalMax表記された値は制約で指定した最大値より大きくなければならない.この制約のパラメータはBigDecimalで定義した最大値の文字列で表される.小数点の存在精度@DecimalMinは寸法の値は、コンストレイントで指定する最小値より小さくなければなりません.この制約のパラメータはBigDecimalによって定義された最小値の文字列で表される.小数存在精度@Digits NumberとStringの構成が正当かどうかを検証@Digits(integer=,fraction=)文字列が指定されたフォーマットに合致する数値であるかどうかを検証し、intergerは整数精度を指定し、fractionは小数精度を指定する.@Range(min=,max=)に指定する要素は、適当な範囲内で@Range(min=10000,max=50000,message="range.bean.wage")@Valid 再帰的に関連オブジェクトを検証しなければならず、関連オブジェクトが集合または配列である場合、その中の要素を再帰的に検証し、mapであればその中の値部分を検証する.(再帰的検証を行うかどうか)@CreditCardNumberクレジットカード検証@Email メールアドレスであるかどうかを検証し、nullであれば検証を行わずに検証に合格する.@ScriptAssert (lang= ,script=, alias=) @URL (protocol=,host=, port=,regexp=, flags=)
テキストリンク:https://blog.csdn.net/qq_28867949/article/details/78922520
springboot
注釈
@Inherited
@Inheritedメタ注記は であり、@Inheritedは、あるマークされたタイプが継承されていることを述べている.@Inherited修飾を使用したannotationタイプがclassに使用される場合、 annotation class .