您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

java属性文件作为枚举

java属性文件作为枚举

我经常使用属性文件+枚举组合。这是一个例子:

public enum Constants {
    PROP1,
    PROP2;

    private static final String PATH            = "/constants.properties";

    private static final Logger logger          = LoggerFactory.getLogger(Constants.class);

    private static Properties   properties;

    private String          value;

    private void init() {
        if (properties == null) {
            properties = new Properties();
            try {
                properties.load(Constants.class.getResourceAsStream(PATH));
            }
            catch (Exception e) {
                logger.error("Unable to load " + PATH + " file from classpath.", e);
                System.exit(1);
            }
        }
        value = (String) properties.get(this.toString());
    }

    public String getValue() {
        if (value == null) {
            init();
        }
        return value;
    }

}

现在,您还需要一个属性文件(我经常将其放在src中,因此将其打包到JAR中),其属性与在枚举中使用的一样。例如:

constants.properties:

#This is property file...
PROP1=some text
PROP2=some other text

现在,我经常在要使用常量的类中使用静态导入:

import static com.some.package.Constants.*;

以及示例用法

System.out.println(PROP1);
java 2022/1/1 18:44:48 有338人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶