Spring DI如何给对象赋空值 以及 对 “” null 空值的总结
1.如果直接在value标签中写入null,代表给name(String类型)赋值为null的字符串,即name="null",此时name为非空
<property name="name" > <value>null</value>
</property>
2.直接将value标签空置,代表给name值是一个长度为0的空字符串,即name=""
<property name="name" > <value></value>
</property>
3.使用null标签,代表name为一个空对象,即name=null
<property name="name" > <null/>
</property>
特别注意:此处没有value标签
附:“”与null差异比较
null:代表声明了一个空对象,不是一个字符串,可以赋给任何对象。
"" :代表声明了一个对象实例,这个对象实例的值是一个长度为0的空字符串。
String s=null; 只是定义了一个句柄,即你有了个引用,但是这个引用未指向任何内存空间
String s=""; 这个引用已经指向了一块是空字符串的内存空间,是一个实际的东东了,所以你可以对它操作。
在判断一个String对象是否为空时,一般使用
if(a==null || a=="") {/**null:是用来判断引用类型是否分配了存储空间 ;*"" :是针对字符串的; **两者位置不能颠倒,因为如果一个null在进行==""判断时,会直接报空指针异常*/
}
在实际开发过程中,使用对字符串进行equals判断时,也容易抛出空指针异常,比如有一个String类型的变量name,判断它是否是"admin"
//当name为null时,下面的语句会抛出NullPointerException
if(name.equals("admin"))
//所以一般建议使用一下写法,只是可能一开始看起来会稍微别扭一点
if("admin".equals(name))
Spring DI如何给对象赋空值 以及 对 “” null 空值的总结相关推荐
- Java Spring DI之旅
做过.NET的人很多都用过Microsoft Enterprise Library,里面有一个Dependency injection工具Unity,我们可以使用它来实现依赖注入:什么是依赖注入呢?我 ...
- Spring DI(依赖注入)
DI依赖注入 IoC(Inversion Of Control)控制翻转,Spring反向控制应用程序所需要使用的外部资源 DI(Dependency Injection)依赖注入,应用程序运行依赖的 ...
- 【Spring 工厂】反转控制与依赖注入、Spring工厂创建复杂对象3种方式
反转控制与依赖注入 反转控制 与 依赖注入 反转控制(IOC Inverse of Control) 依赖注入 (Dependency Injection - DI) Spring工厂创建复杂对象(3 ...
- 一步一步手绘Spring DI运行时序图(Spring 自动装配之依赖注入)
相关内容: 架构师系列内容:架构师学习笔记(持续更新) 一步一步手绘Spring IOC运行时序图一(Spring 核心容器 IOC初始化过程) 一步一步手绘Spring IOC运行时序图二(基于XM ...
- Spring DI详解
1.IOC(DI)-控制反转(依赖注入) 所谓的IOC称之为控制反转,简单来说就是将对象 的创建的权力及对象的生命周期的管理过程交由Spring框架来处理,从此在开发过程中不在需要关注对象的创建和生命 ...
- 手写Spring DI依赖注入,嘿,你的益达!
手写DI 提前实例化单例Bean DI分析 DI的实现 构造参数依赖 一:定义分析 二:定义一个类BeanReference 三:BeanDefinition接口及其实现类 四:DefaultBean ...
- SpringBoot项目中如何在静态工具类中使用被Spring容器管理的对象
在开发的过程中,难免会碰到需要在工具类中使用由spring管理的对象的情况,但是我们都知道,工具类中的静态方法中无法引用spirng容器中的对象(被spring管理的对象不是静态的,静态方法中无法调用 ...
- Spring存储和读取对象 -- 2
Spring存储和读取对象 -- 2 前言 一.存储 Bean 对象 1.1 前置工作:配置扫描路径 (重要) 1.2 添加注解存储 Bean 对象 1.2.1 五大类注解 Bean 命名规则 1.2 ...
- 【工具类】手动获取被spring管理的bean对象
package com.zxl;import org.springframework.beans.BeansException; import org.springframework.context. ...
最新文章
- 字节跳动扩招一万人?这也太香了!
- 谷歌新语言重写android,谷歌将推新设计语言 安卓APP用户界面将换新颜
- C# 谈谈Interface和通过Interface传递web页面数据
- linux下pip安装模块失败,Linux pip包安装错误
- python混合asp_用python实现面向对象的ASP程序实例
- 详解:MapReduce 思想解析
- Search in Rotated Sorted Array II leetcode java
- 《凤凰项目:一个IT运维的传奇故事》的读后感
- 几年前运放有源滤波器设计思考点
- 简约实用个人简历自我介绍PPT模板
- Delta并联机构运动学分析
- 《剑指offer》之知识汇总
- to写日志or not to写日志,is a question.-.-
- (十二)苏世民:我的经验和教训:苏世民带领黑石走向巅峰的十大管理原则
- 4.文件系统的类型和结构
- Java实现Linux的md5加密,Linux_详细讲解:Linux系统GRUB的MD5加密方法,1、用grub-md5-crypt成生GRUB的md5密 - phpStudy...
- 唐天下文化传播:惹火2021公司新年年会,天下谁人不识君?
- vue 移动端 div背景图片 pc端显示 移动端不显示
- 网页期末作业制作一个简单HTML电影网页设计(HTML+CSS)
- 为什么HDFS中的块如此之大?
热门文章
- 如何使用bcrypt在PHP中对密码进行哈希处理?
- 如何决定何时使用Node.js?
- 计算机模块的概念,用户定义类模块概念-计算机二级-Access
- python口号_编程语言的口号
- UART 初始化及使用示例代码
- 网络协议:TCP/IP协议,你看懂了吗?
- python字符串不可改变怎么理解_python的“不可变性”代表了什么?
- 洛谷——P1897 电梯里的爱情(两种解法:普通方法、桶排序方法)
- ❤️《大前端—了解与使用NodesJS》
- 产品模块(HTML、CSS)