使用类的静态块来初始化properties属性文件配置的常量
在一个项目中,总有那么些常量,这时我们一般会将这些常量使用properties属性文件来进行配置,以方便代码的维护和日后的修改。
我的处理方式是:
1、使用一个constData.properties的属性配置文件,将我们需要的常量配置在里面(采用键值对的方式)。
2、使用一个final类、interface接口或者就是一个抽象类或普通类来定义这些常量,将它们集中定义在一起。这样做也是为了日后修改和维护的方便。然后使用一个static静态块去初始化这些我们定义的常量。
在服务启动的时候,这些常量就被初始化完成了。
代码如下:
constData.properties
#RFID设备类型编号type RFID_EQUIPMENT_TYPE=5 #托盘的设备类型编号 SALVER_EQUIPMENT_TYPE=0 #叉车的设备类型 FORKLIFT_EQUIPMENT_TYPE=1 #人力搬运车的设备类型 CARRIER_EQUIPMENT_TYPE=6 #税务申报条件金额 TAX_DECLARATION_AMOUNT=100000 #纳税的税率 TAX_RATE=0.05 #大单金额 BIG_BILL_AMOUNT=10000 #跳过动画扣除金额 SKIP_FLASH_AMOUNT=100
ConstData.java
package com.nos.lsp.common; import java.math.BigDecimal; import java.util.ResourceBundle; public class ConstData { public static final int RFID_EQUIPMENT_TYPE;//RFID设备类型编号type public static final int SALVER_EQUIPMENT_TYPE;//托盘的设备类型编号 public static final int FORKLIFT_EQUIPMENT_TYPE;//叉车的设备类型 public static final int CARRIER_EQUIPMENT_TYPE;//人力搬运车的设备类型 public static final BigDecimal TAX_DECLARATION_AMOUNT;//税务申报条件金额 public static final BigDecimal TAX_RATE;//纳税的税率 public static final BigDecimal BIG_BILL_AMOUNT;//大单金额 public static final BigDecimal SKIP_FLASH_AMOUNT;//跳过动画扣除金额 static{ ResourceBundle rb = ResourceBundle.getBundle("constData"); RFID_EQUIPMENT_TYPE = Integer.parseInt(rb.getString("RFID_EQUIPMENT_TYPE")); SALVER_EQUIPMENT_TYPE = Integer.parseInt(rb.getString("SALVER_EQUIPMENT_TYPE")); FORKLIFT_EQUIPMENT_TYPE = Integer.parseInt(rb.getString("FORKLIFT_EQUIPMENT_TYPE")); CARRIER_EQUIPMENT_TYPE = Integer.parseInt(rb.getString("CARRIER_EQUIPMENT_TYPE")); TAX_DECLARATION_AMOUNT = new BigDecimal(rb.getString("TAX_DECLARATION_AMOUNT")); TAX_RATE = new BigDecimal(rb.getString("TAX_RATE")); BIG_BILL_AMOUNT = new BigDecimal(rb.getString("BIG_BILL_AMOUNT")); SKIP_FLASH_AMOUNT = new BigDecimal(rb.getString("SKIP_FLASH_AMOUNT")); } }
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步