技术标签: spring java IntelliJ IDEA Java基础 后端
- @NonNull 注解可以标注在方法、字段、参数之上,表示对应的值不能为空;
- @Nullable 注解可以标注在方法、字段、参数之上,表示对应的值可以为空;
@Nullable 注解可以使用在方法、属性、参数上,分别表示方法返回值可以为空、属性值可以为空、参数值可以为空。
如果可以传入 NULL 值,则标记为 @Nullable,如果不可以,则标注为 @NonNull。那么在做一些不安全严谨操作的编码时,这些注释会给我们一些警告。如下是我看 Spring 源码(DelegatingEntityResolver 类)时,发现用到的 @Nullable。
以上图片中关于修改的地方是把 Spring 源码里的空行删除了,至于为什么源码能被修改,是因为我把 Spring 源码下载到本地了,方便查看。
关于 org.springframework.lang.Nullable 和 javax.annotation.Nullable 这两个注解有什么区别?用法有什么区别?
org.springframework.lang.Nullable
和 javax.annotation.Nullable
都是用来表示 Java 中的可空性注解。
javax.annotation.Nullable
是 JDK 9 引入的 Java 标准库中的一部分,而 org.springframework.lang.Nullable
是 Spring Framework 提供的,用于兼容不同的 Java 版本。
如果你在使用 Spring Framework,并且你的项目中没有包含对应的 javax.annotation
库,你可能需要使用 org.springframework.lang.Nullable
。
例如,在 Maven 中,你可能需要配置 javax.annotation 的依赖条件,如下:
<dependency>
<groupId>javax.annotation</groupId>
<artifactId>javax.annotation-api</artifactId>
<version>1.3.2</version>
<scope>provided</scope>
</dependency>
请注意,javax.annotation
的依赖应该被标记为 provided
,因为它通常是 JDK 的一部分,并且不需要打包到最终的应用程序中。
完结!
文章浏览阅读2.5w次,点赞21次,收藏23次。最近自己在做毕设,是一个微信小程序,虽然自己有一点前端开发经验,以为小程序前端和这个差不多可以直接开撸,但是这两天被一些图片问题烦了好久。这也是自己第一次写博客,实在太生气了,网上也没找到自己想要的结果,所以写下来记录下来,顺便让和我一样错误的人知道咋解决,笑cry,虽然真的很低级的错误。以下是遇到的问题。 1:在开发者工具可以显示图片,手机预览,真机调试却看不到。 2:在最开始的ipho..._微信小程序js引入图片前端不显示
文章浏览阅读2.8k次,点赞10次,收藏51次。JSON 对象包含两个方法:用于解析 JavaScript Object Notation(JSON)的 parse() 方法,以及将对象/值转换为 JSON 字符串的 stringify() 方法。除了这两个方法,JSON 这个对象本身并没有其他作用,也不能被调用或者作为构造函数调用。_json
文章浏览阅读1.8k次,点赞2次,收藏9次。嵌入式系统硬件基础By 成鹏致远第一章 常用硬件——>嵌入式系统常用的硬件器件,主要包括分立器件、光电半导体、逻辑IC、模拟IC以及存储器共五大类——>分立器件主要有:二极管、三极管、电阻、电容、电感以及场效应管等——>二极管的主要特性是单向导电性——>二极管按其用途可分为:整流二极管、稳压二极管、开关二极管、发光二极管等——>整流二级管是一种将交流电转变为直流电的半导体器件,主要用于各种低频整流_哈佛j80c电源板
文章浏览阅读673次。一,组件实例三大属性(1)state查看状态:在写好的组件实例上有一个属性,state,就代表这个组件的状态。接下来我们写一个有状态的组件:<body> <div id="test"></div> <script type="text/babel"> // 创建组件 class Component extends React.Component { // 初始化,调_组件自带的属性
文章浏览阅读4.4k次,点赞3次,收藏4次。上一节主要是分析了yii2的自动加载函数,下面在分析一下yii2的核心组件与服务定位器。其实yii2的核心组件主要有以下://日志组件'log' => ['class' => 'yii\log\Dispatcher'],//视图组件,这个组件代表视图文件中的$this'view' => ['class' => 'yii\web\View'],//格式化组件,将一些输出按照一_yii2 unknown component id: db
文章浏览阅读6.9k次,点赞24次,收藏315次。基于SV绿皮书的systemverilog总结_systemverilog语法
文章浏览阅读700次。1. 窗口函数和普通聚合函数的区别聚合函数是将多条记录合并为一条;窗口函数是每条记录都会执行,原来有几条记录最终执行完还是几条聚合函数也可以用于窗口函数:窗口函数在逻辑上的执行顺序是在FROM、JOIN、WHERE、GROUP BY 、HAVING 之后,在ORDER BY、LIMIT、SELECT DISTINCT之前。它执行之前GROUP BY的聚合过程已经完成了,所以不会再产生数据聚合。注:窗口函数是在 WHERE 之后执行的,所以如果 WHERE 子句需要用窗口函数作为条件,需要多套一层子_hive 窗口函数的执行顺序
文章浏览阅读4.3k次。Windows11 -使用sftp连接CentOs 7,实现文件上传与下载_windows连接sftp
文章浏览阅读2.6k次,点赞2次,收藏9次。gflags版本:gflags 2.2.2目录编译动态库的编译cmakelbw@DESKTOP-LBW22:/mnt/d/ref/gflags-master/_build$ cmake .. -DGFLAGS_NAMESPACE=gflags -DCMAKE_CXX_FLAGS=-fPIC -DBUILD_SHARED_LIBS=ON -DCMAKE_C_COMPILER=aarch64-linux-gnu-gcc -DCMAKE_CXX_COMPILER=aarch64-li._manually-specified variables were not used by the project:
文章浏览阅读1.6k次。寻找原因后端开发中经常mysql8.x的jdbc升级了,增加了时区(serverTimezone)属性,并且不允许为空。_servertimezone=gmt+8
文章浏览阅读886次,点赞9次,收藏20次。面试建议是,
文章浏览阅读1.2k次。来源:城市数据派转自:上海数据分析大家好,我是小z今天给大家分享一篇新中国成立70年人口流动迁移的文章1 改革开放前的人口流动迁移特征改革开放前,我国人口迁移规模较改革开放后而言,..._国内人口迁移数据挖掘与可视化