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 空值的总结相关推荐

  1. Java Spring DI之旅

    做过.NET的人很多都用过Microsoft Enterprise Library,里面有一个Dependency injection工具Unity,我们可以使用它来实现依赖注入:什么是依赖注入呢?我 ...

  2. Spring DI(依赖注入)

    DI依赖注入 IoC(Inversion Of Control)控制翻转,Spring反向控制应用程序所需要使用的外部资源 DI(Dependency Injection)依赖注入,应用程序运行依赖的 ...

  3. 【Spring 工厂】反转控制与依赖注入、Spring工厂创建复杂对象3种方式

    反转控制与依赖注入 反转控制 与 依赖注入 反转控制(IOC Inverse of Control) 依赖注入 (Dependency Injection - DI) Spring工厂创建复杂对象(3 ...

  4. 一步一步手绘Spring DI运行时序图(Spring 自动装配之依赖注入)

    相关内容: 架构师系列内容:架构师学习笔记(持续更新) 一步一步手绘Spring IOC运行时序图一(Spring 核心容器 IOC初始化过程) 一步一步手绘Spring IOC运行时序图二(基于XM ...

  5. Spring DI详解

    1.IOC(DI)-控制反转(依赖注入) 所谓的IOC称之为控制反转,简单来说就是将对象 的创建的权力及对象的生命周期的管理过程交由Spring框架来处理,从此在开发过程中不在需要关注对象的创建和生命 ...

  6. 手写Spring DI依赖注入,嘿,你的益达!

    手写DI 提前实例化单例Bean DI分析 DI的实现 构造参数依赖 一:定义分析 二:定义一个类BeanReference 三:BeanDefinition接口及其实现类 四:DefaultBean ...

  7. SpringBoot项目中如何在静态工具类中使用被Spring容器管理的对象

    在开发的过程中,难免会碰到需要在工具类中使用由spring管理的对象的情况,但是我们都知道,工具类中的静态方法中无法引用spirng容器中的对象(被spring管理的对象不是静态的,静态方法中无法调用 ...

  8. Spring存储和读取对象 -- 2

    Spring存储和读取对象 -- 2 前言 一.存储 Bean 对象 1.1 前置工作:配置扫描路径 (重要) 1.2 添加注解存储 Bean 对象 1.2.1 五大类注解 Bean 命名规则 1.2 ...

  9. 【工具类】手动获取被spring管理的bean对象

    package com.zxl;import org.springframework.beans.BeansException; import org.springframework.context. ...

最新文章

  1. 字节跳动扩招一万人?这也太香了!
  2. 谷歌新语言重写android,谷歌将推新设计语言 安卓APP用户界面将换新颜
  3. C# 谈谈Interface和通过Interface传递web页面数据
  4. linux下pip安装模块失败,Linux pip包安装错误
  5. python混合asp_用python实现面向对象的ASP程序实例
  6. 详解:MapReduce 思想解析
  7. Search in Rotated Sorted Array II leetcode java
  8. 《凤凰项目:一个IT运维的传奇故事》的读后感
  9. 几年前运放有源滤波器设计思考点
  10. 简约实用个人简历自我介绍PPT模板
  11. Delta并联机构运动学分析
  12. 《剑指offer》之知识汇总
  13. to写日志or not to写日志,is a question.-.-
  14. (十二)苏世民:我的经验和教训:苏世民带领黑石走向巅峰的十大管理原则
  15. 4.文件系统的类型和结构
  16. Java实现Linux的md5加密,Linux_详细讲解:Linux系统GRUB的MD5加密方法,1、用grub-md5-crypt成生GRUB的md5密 - phpStudy...
  17. 唐天下文化传播:惹火2021公司新年年会,天下谁人不识君?
  18. vue 移动端 div背景图片 pc端显示 移动端不显示
  19. 网页期末作业制作一个简单HTML电影网页设计(HTML+CSS)
  20. 为什么HDFS中的块如此之大?

热门文章

  1. 如何使用bcrypt在PHP中对密码进行哈希处理?
  2. 如何决定何时使用Node.js?
  3. 计算机模块的概念,用户定义类模块概念-计算机二级-Access
  4. python口号_编程语言的口号
  5. UART 初始化及使用示例代码
  6. 网络协议:TCP/IP协议,你看懂了吗?
  7. python字符串不可改变怎么理解_python的“不可变性”代表了什么?
  8. 洛谷——P1897 电梯里的爱情(两种解法:普通方法、桶排序方法)
  9. ❤️《大前端—了解与使用NodesJS》
  10. 产品模块(HTML、CSS)