Spring 5中的@NonNull,@Nullable,@No

作者: AlanSun2 | 来源:发表于2019-05-09 16:52 被阅读412次

    从spring5开始新增了null-safety注解@NonNull@Nullable@NonNullFields@NonNullApi,来防止出现运行时的空指针异常。

    @NonNull

    使用在字段,方法参数或方法的返回值。表示不能为空

    @NonNullFields

    使用在包级别,并且是该包下类的字段不能为空。

    当一个类中的字段使用了太多的NonNull时可以考虑使用@NonNullFields注解,使用该注解必须先定义一个名为package-info.java的文件,例如:

    package-info.java

    @NonNullApi
    @NonNullFields
    package org.springframework.mail;
    
    import org.springframework.lang.NonNullApi;
    import org.springframework.lang.NonNullFields;
    

    @Nullable

    使用在字段,方法参数或方法的返回值。表示可以为空。

    当一个类的包被@NonNullFields@NonNullApi注解,而我们想要从包级别指定的非null约束中免除某些字段,方法,返回值时可以使用@Nullable

    @NonNullApi

    @NonNullFields一样使用在包级别,但是区别是它作用是该包下的类的方法参数和返回值不能为空

    当一个类中的方法参数和返回值使用了太多的NonNull时可以考虑使用@NonNullFields注解,使用该注解必须先定义一个名为package-info.java的文件,形式同上。

    注意:使用以上注解,你使用的ide必须支持该功能

    相关文章

      网友评论

        本文标题:Spring 5中的@NonNull,@Nullable,@No

        本文链接:https://www.haomeiwen.com/subject/olxgoqtx.html