Kiss__to
2021-06-10 00:13
采纳率: 69.2%
浏览 334
已采纳

springboot中如何让final static这样的静态常量加载yml中的数据?

如上,为了方便修改,我想将数据写在yml中,但是又需要将数据加载在final static  用@value注解直接加当然没用,请问谁有更优雅的方法吗

  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

6条回答 默认 最新

  • 得一以生 2021-06-10 09:00
    已采纳

    没有用的,final static 是不可变的对象,一旦初始化,后续无法重新赋值的,你可以说下你的业务背景,可配置的参数用途,如果仅仅是要动态直接使用的话,普通的@ConfigurationProperties就可以了,比如说某个功能的开关;如果是要监听值的变化,重新加载使用该属性的bean的话,则需要添加监听器,比如说定时任务的运行周期。

    已采纳该答案
    评论
    解决 无用
    打赏 举报
  • Kiss__to 2021-06-10 07:47

    dd

     

    评论
    解决 无用
    打赏 举报
  • 林林林林七 2021-06-10 08:57

    常量不就是不想修改的?除非你的常量是配置常量

    评论
    解决 无用
    打赏 举报
  • 静态常量只能声明时初始化,不能启动程序以后再赋值,你可以写个静态方法去拿值

    评论
    解决 无用
    打赏 举报
  • SpringBoot中文社区 2021-06-10 17:05

    可以在static代码块中加载yaml数据来初始化。

    评论
    解决 无用
    打赏 举报
  • A_JIAN0228 2021-08-18 16:23

    楼主问题解决了吗 我也遇到同样的问题

    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题