解决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如何将String转换成json对象或json数组

    Java如何将String转换成json对象或json数组

    这篇文章主要介绍了Java如何将String转换成json对象或json数组,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-02-02
  • 关于spring5的那些事:@Indexed 解密

    关于spring5的那些事:@Indexed 解密

    这篇文章主要介绍了关于spring5的那些事:@Indexed 解密,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-11-11
  • 最全JVM调优步骤和参数及配置

    最全JVM调优步骤和参数及配置

    这篇文章主要给大家介绍了关于JVM调优的相关资料,JVM调优是指对Java虚拟机(JVM)进行优化,以提高Java程序的性能和运行效率,文中介绍的非常详细,需要的朋友可以参考下
    2024-03-03
  • Spring实战之Bean的后处理器操作示例

    Spring实战之Bean的后处理器操作示例

    这篇文章主要介绍了Spring实战之Bean的后处理器操作,结合实例形式详细分析了Bean的后处理器相关配置、操作方法及使用注意事项,需要的朋友可以参考下
    2019-12-12
  • Java中Volatile关键字能保证原子性吗

    Java中Volatile关键字能保证原子性吗

    这篇文章主要介绍了Java中Volatile关键字能保证原子性吗,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-08-08
  • Java枚举_动力节点Java学院整理

    Java枚举_动力节点Java学院整理

    enum 的全称为 enumeration, 是 JDK 5 中引入的新特性,存放在 java.lang 包中。这篇文章给大家介绍Java枚举相关知识,需要的的朋友参考下
    2017-04-04
  • mybatis-plus之自动映射字段(typeHandler)的注意点及说明

    mybatis-plus之自动映射字段(typeHandler)的注意点及说明

    这篇文章主要介绍了mybatis-plus之自动映射字段(typeHandler)的注意点及说明,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-04-04
  • Java实现公众号功能、关注及消息推送实例代码

    Java实现公众号功能、关注及消息推送实例代码

    公众号开发近些年是一个比较热门的方向,下面这篇文章主要给大家介绍了关于Java实现公众号功能、关注及消息推送的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2023-11-11
  • JDK1.8中的ConcurrentHashMap使用及场景分析

    JDK1.8中的ConcurrentHashMap使用及场景分析

    这篇文章主要介绍了JDK1.8中的ConcurrentHashMap使用及场景分析,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-01-01
  • SpringBoot3使用​自定义注解+Jackson实现接口数据脱敏的步骤

    SpringBoot3使用​自定义注解+Jackson实现接口数据脱敏的步骤

    本文介绍了一种以优雅的方式实现对接口返回的敏感数据,如手机号、邮箱、身份证等信息的脱敏处理,这种方法也是企业常用方法,话不多说我们一起来看一下吧
    2024-03-03

最新评论