千锋教育-做有情怀、有良心、有品质的职业教育机构

400-811-9990
手机站
千锋教育

千锋学习站 | 随时随地免费学

千锋教育

扫一扫进入千锋手机站

领取全套视频
千锋教育

关注千锋学习站小程序
随时随地免费学习课程

上海
  • 北京
  • 郑州
  • 武汉
  • 成都
  • 西安
  • 沈阳
  • 广州
  • 南京
  • 深圳
  • 大连
  • 青岛
  • 杭州
  • 重庆
当前位置:重庆千锋IT培训  >  技术干货  >  关于SpringBoot中yml文件的key值不匹配,引发的空指针异常解决方案

关于SpringBoot中yml文件的key值不匹配,引发的空指针异常解决方案

来源:千锋教育
发布人:lxl
时间: 2023-03-22 11:42:35

  一. 问题背景

  很多小伙伴都知道SpringBoot中常见的配置文件有三种,分别是yml、yaml、properties三种类型。

  而有些时候我们需要在SpringBoot配置文件中去配置一些自定义的内容,比如邮箱的秘钥信息以及短信秘钥信息等。而配置完毕之后我们就需要进行配置的读取,在SpringBoot常见读取自定义配置信息的方式有两种,分别为@Value以及@ConfigurationProperties。

  另外我们要注意,使用@ConfigurationProperties的时候,需要在pom文件中引入

  spring-boot-configuration-processor的起步依赖。但是在读取配置数据的过程中,如果不注意细节的话,就会容易引发让人迷惑的空指针异常!!!

  接下来就用一个实际案例,给大家重新这个异常的产生及解决办法。

  二. 实际案例

  为了给大家讲清楚今天的这个异常,波哥先给大家设计一个案例,实现过程如下。

  2.1 创建学生简介类

空指针异常解决方案

空指针异常解决方案

  2.2 准备一个学生类同时关联学生简介类

空指针异常解决方案

空指针异常解决方案

  2.3 在yml文件中配置学生类需要的数据

  yaml文件内容如下:

空指针异常解决方案

  2.4 读取yml文件的数据

  我们选择@ConfigurationProperties方式读取,此时在学生类上方加上注解并指定yml中的前缀。

空指针异常解决方案

  Tips:一定要在学生类以及学生简介类中国提供getter和setter方法,不然读取数据注入将会失败,因为@ConfigurationProperties注入数据的原理,是根据set方法实现的。

  2.5 准备配置类将学生对象注入进IOC容器

空指针异常解决方案

  2.6 在启动类中获取容器并得到学生类的bean对象

空指针异常解决方案

  2.7 运行启动类会发现控制台出现空指针异常

空指针异常解决方案

  2.8 原因解析

空指针异常解决方案

  2.9 解决办法以及建议

  在yaml文件中做自定义配置时,需要将配置的key名与注入类名的变量名一致!!!

  student:

  name: zhangsan

  sex: male

  studentIntroduce: ##修改位置

  id: 1

  detailed: The student is very excellent !!!

  重新运行启动类!!!

声明:本站稿件版权均属千锋教育所有,未经许可不得擅自转载。

猜你喜欢LIKE

java的输入语句—— Scanner类

2023-05-04

java数据库操作常识事务的四大特性

2023-05-04

DML数据操作之增加或删除数据

2023-05-04

最新文章NEW

socket是什么?有什么作用?

2023-05-04

Java常量定义是什么

2023-04-28

一分钟带你学多线程

2023-04-28

相关推荐HOT

更多>>

快速通道 更多>>

最新开班信息 更多>>

网友热搜 更多>>