spring boot,yml文件配置的自己见解

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/li740207611/article/details/84196825

关于spring boot,yml文件配置的自己见解

使用场景

如果项目中存在大量重复的代码,大量重复指的是大量的if else 或者逻辑上的大量判断

就不要在程序里面进行处理了,这样不仅造成代码的兼容性很低,而且可读性更低,维护代价巨大无比。
通过java万物皆对象的思想,把这些数据进行抽象到配置文件中,然后通过读配置文件来进行处理。
这样如果有新的模型需要处理,添加配置文件或者修改配置文件就ok,不需要修改代码。

example

项目需要处理10个excell文件,excell文件是由10+的sheet页组成,sheet页中是大量的公式而每个

excell文件是不一样的。要通过web页面实现excell输入数据,单击计算,显示所有sheet页中的数据功能。
这里面输入数据的sheet每个模型不一样,输出数据的sheet页也不一样。而sheet页本身是有意义的,而由于
使用java poi来实现excell公式计算,有些公式没有实现,所以需要进行特殊处理。
我把10个excell文件,进行分类,modelType 1–>10,对应各自的excell文件。
通过在yml文件中配置model1,model2,这样前台js只要传递model类型,其他的数据我都可以通过yml文件得到
这样程序的处理流程是一样的,不管你有10个模型,还是1000个模型,都不用修改代码,只需要修改配置文件。

evaluationModel:
  config:
    models:
      model1:
        # 项目列表:装机容量、年理论发电小时数、当地保障小时数;概览列表:项目所在地、动态总投资、融资比例、项目IRR、股权IRR
        keys: 附表3_B13,附表3_B14,附表3_B19,附表3_B12,附表3_B24,附表3_B80,附表5_B105,附表5_B93
        calculate:
          # 有些需要模型需要计算无补贴电价,所以需要重新设置一些单元格的值, replace可以有多个
          # 如果有多个以 英文逗号隔开 example: 附表3_B48, 附表3_B49
          #如果calculateList.get(1...n) ,如果1-n 中的setPosition中有重复的单元格,则 后面的会覆盖前面的
            - cellPosition : 附表3_B48
              cellValue : 0
              setPosition : 附表3_I14,附表3_K14
              getPosition : 附表3_I10,附表3_K10
        # 项目退出,如果存储整个sheet则填写相应的sheet,可以有多个。
        # 如果要存储指定的单元格,可以传单元格的位置数组。
        # 如果sheet 和 cellPosition 都填值,则这些数据都存储。
        exit:
          sheet: 附表6
          cellPosition:
        # 模型假设页
        inputSheet : 附表3
        # 敏感系数计算 , replace可以有多个
        sensitivity:
          - cellPosition: 附表6_B23,附表6_B24
            cellValueY: 0.85,0.9,0.95,1,1.05,1.1,1.15
            cellValueX: 0.85,0.9,0.95,1,1.05,1.1,1.15
            setPosition: 附表6_C29:附表6_I35
            getPosition: 附表6_B28

猜你喜欢

转载自blog.csdn.net/li740207611/article/details/84196825