Kiss__to 2021-06-10 00:13 采纳率: 77.8%
浏览 1058
已采纳

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

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

  • 写回答

7条回答 默认 最新

  • 得一以生 2021-06-10 09:00
    关注

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

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
  • Kiss__to 2021-06-10 07:47
    关注

    dd

     

    评论
  • 林林林林七 2021-06-10 08:57
    关注

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

    评论
  • 上酱潘凤 2021-06-10 08:59
    关注

    静态常量只能声明时初始化,不能启动程序以后再赋值,你可以写个静态方法去拿值

    评论
  • SpringBoot中文社区 2021-06-10 17:05
    关注

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

    评论
  • A_JIAN0228 2021-08-18 16:23
    关注

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

    评论
  • A Everyman 2022-12-16 13:45
    关注

    楼主用什么方法解决的?

    评论
查看更多回答(6条)

报告相同问题?

悬赏问题

  • ¥30 宾馆客房管理系统可视化
  • ¥20 unity打光没有照亮物体
  • ¥25 powershell如何拷贝1周前的文件
  • ¥15 询问MYSQL查询SQLSERVER数据表并比较差异后,更新MYSQL的数据表
  • ¥15 关于#前端#的问题,请各位专家解答!
  • ¥15 最小生成树问题 Prim算法和Kruskal算法
  • ¥25 医院住院病人呼叫器设计
  • ¥15 不想和现在的团队合作了,怎么避免他们对程序动手脚
  • ¥20 C语言字符串不区分大小写字典排序相关问题
  • ¥15 关于#python#的问题:我希望通过逆向技术爬取1688搜索页下滑加载的数据