Skip to content
鼓励作者:欢迎打赏犒劳

18-properties工具类

第一种写法

依赖

xml
<!-- Apache Commons Configuration -->
<dependency>
    <groupId>commons-configuration</groupId>
    <artifactId>commons-configuration</artifactId>
    <version>1.10</version> <!-- 最新 1.x 版本 -->
</dependency>
<!-- Apache Commons Lang -->
<dependency>
    <groupId>org.apache.commons</groupId>
    <artifactId>commons-lang3</artifactId>
    <version>3.17.0</version>
</dependency>

工具类

java
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.configuration.Configuration;
import org.apache.commons.configuration.ConfigurationException;
import org.apache.commons.configuration.PropertiesConfiguration;
import org.springframework.stereotype.Component;

@Slf4j
@Component
public class Configs {
    private static Configuration configs;

    private static String openApiDomain;   // 支付宝openapi域名
    private static String pid;             // 商户partner id
    private static String appid;           // 商户应用id

    static {
        Configs.init("zfbinfo.properties");
    }

    private Configs() {
        // No Constructor
    }

    // 根据文件名读取配置文件,文件后缀名必须为.properties
    public synchronized static void init(String filePath) {
        if (configs != null) {
            return;
        }

        try {
            configs = new PropertiesConfiguration(filePath);
        } catch (ConfigurationException e) {
            e.printStackTrace();
        }

        if (configs == null) {
            throw new IllegalStateException("can`t find file by path:" + filePath);
        }

        openApiDomain = configs.getString("open_api_domain");
        pid = configs.getString("pid");
        appid = configs.getString("appid");

        log.info("配置文件名: " + filePath);
    }

    public static Configuration getConfigs() {
        return configs;
    }

    public static String getOpenApiDomain() {
        return openApiDomain;
    }

    public static String getPid() {
        return pid;
    }

    public static String getAppid() {
        return appid;
    }

    // 测试
    public static void main(String[] args) {
        String appid = Configs.getAppid();
        System.out.println(appid);
    }
}

第二种写法

java
import lombok.Data;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.PropertySource;
import org.springframework.stereotype.Component;

@Component
@PropertySource("classpath:config/alipay.properties")
@Data
public class AlipayUtil {
    @Value("${app_id}")
    private String appId;
    @Value("${gatewayUrl}")
    private String gatewayUrl;
    @Value("${merchant_private_key}")
    private String merchantPrivateKey;
    @Value("${charset}")
    private String charset;
    @Value("${alipay_public_key}")
    private String alipayPublicKey;
    @Value("${sign_type}")
    private String signType;
    @Value("${return_url}")
    private String returnUrl;
    @Value("${notify_url}")
    private String notifyUrl;
}

如有转载或 CV 的请标注本站原文地址