解决SpringBoot使用@Value获取不到yaml中配置值的问题

 更新时间:2024年01月16日 11:57:55   作者:t梧桐树t  
在最近的开发中遇到一个问题,使用@Value获取yml文件中配置的属性时始终获取不到值,所以本文给大家详细介绍了SpringBoot使用@Value获取不到yaml中值的问题分析及解决方法,需要的朋友可以参考下

在最近的开发中遇到一个问题,使用@Value获取yml文件中配置的属性时始终获取不到值,一开始我以为是没有注入的问题,或者没有写setter方法的问题,后来我发现这些都都写了然后开始百度发现获取不到属性值有这么几个原因

获取不到值的原因

1.没有使用Component注解,也就是没有注入到容器内

2.变量被static修饰

3.在构造器中使用了属性值

问题分析

前两点原因可以否定掉了,我在构造器中使用了这个变量导致的

原因:在这个问题中我忽略了spring Bean的生命周期

  1. 实例化Bean:在这个阶段,Spring容器创建Bean的实例,调用Bean的构造方法。

  2. 注入属性:Spring容器会尽力注入配置的属性值,包括使用@Value注解注入的值。

  3. 初始化Bean:在这个阶段,Spring容器执行一些初始化方法。通常,这包括调用InitializingBean接口的afterPropertiesSet方法、执行在Bean上使用@PostConstruct注解的方法或自定义的初始化方法。

解决问题

知道了问题所在,但是还需要在bean加载的时候获取到属性值怎么办,可以使用InitializingBean来解决,InitializingBean接口是Spring Framework提供的一个用于初始化Bean的方式之一。它是org.springframework.beans.factory.InitializingBean接口的一部分。当一个Bean实现InitializingBean接口时,它必须提供一个afterPropertiesSet方法,该方法将在Bean的属性设置之后被自动调用。通常,你可以在这个方法中执行一些初始化逻辑,以确保Bean在被容器实例化后处于可用状态。

以上就是SpringBoot使用@Value获取不到yaml中值的问题解决的详细内容,更多关于SpringBoot @Value获取不到yaml的资料请关注脚本之家其它相关文章!

相关文章

  • JAVA中Context的详细介绍和实例分析

    JAVA中Context的详细介绍和实例分析

    这篇文章主要介绍了JAVA中Context的详细介绍和实例分析,Context是维持android各组件能够正常工作的一个核心功能类。如果感兴趣来学习一下
    2020-07-07
  • Spring事务事件监控的实现

    Spring事务事件监控的实现

    这篇文章主要介绍了Spring事务事件监控的实现。本文首先会使用实例进行讲解Spring事务事件是如何使用的,然后会讲解这种使用方式的实现原理。感兴趣的小伙伴们可以参考一下
    2018-10-10
  • Jackson常用方法以及jacksonUtil工具类详解

    Jackson常用方法以及jacksonUtil工具类详解

    这篇文章主要介绍了Jackson常用方法以及jacksonUtil工具类详解,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-06-06
  • java 函数的重载和重写实例代码

    java 函数的重载和重写实例代码

    本文主要介绍Java 的重载和重写,学习java的同学都知道Java的多态有多重要,这里给大家举例说明函数的重载和重写,希望能帮助有需要的小伙伴
    2016-07-07
  • Java实现将Markdown格式内容转换为Word文档

    Java实现将Markdown格式内容转换为Word文档

    这篇文章主要为大家详细介绍了如何使用Java实现将Markdown格式内容转换为Word文档,文中的示例代码讲解详细,感兴趣的小伙伴可以了解一下
    2025-06-06
  • 你所不知道的Spring的@Autowired实现细节分析

    你所不知道的Spring的@Autowired实现细节分析

    这篇文章主要介绍了你所不知道的Spring的@Autowired实现细节分析,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-08-08
  • Java数据类型与变量详解

    Java数据类型与变量详解

    文章主要介绍了Java中的字面常量、数据类型、变量、类型转换和字符串类型,涵盖了基本数据类型和引用数据类型,以及不同类型之间的转换和运算规则,感兴趣的朋友跟随小编一起看看吧
    2026-01-01
  • MyBatis动态SQL与MyBatis Generator插件使用教程

    MyBatis动态SQL与MyBatis Generator插件使用教程

    动态SQL是Mybatis的强大特性之⼀,能够完成不同条件下不同的sql拼接,本文给大家介绍MyBatis动态SQL与MyBatis Generator插件使用,感兴趣的朋友跟随小编一起看看吧
    2026-03-03
  • Java如何实现判断并输出文件大小

    Java如何实现判断并输出文件大小

    这篇文章主要介绍了Java如何实现判断并输出文件大小问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-04-04
  • Java源码HashMap源码的使用分析

    Java源码HashMap源码的使用分析

    这篇文章主要介绍了Java源码HashMap源码的使用分析,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2025-05-05

最新评论