Spring 5中的@NonNull,@Nullable,@NonNullFields,@NonNullApi

从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必须支持该功能

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。