配置文件属性读取

2018-11-12  本文已影响25人  怪诞140819

在系统开发中,我们很多的时候需要根据不同的环境从配置文件中读取属性,我们可以建立不同的配置文件来定义环境,比如application-dev.yml,application-test.yml,application-prod.yml,或者我们可以建立config-server来托管我们的不同环境下的配置,但是这些都不是这篇文章关注的内容,我们关注的是读取配置文件中的内容,例如我们要配置七牛云上传的属性

1.目录结构

代码结构

1.1 总的属性配置

@ConfigurationProperties(prefix = "kjb.basic")
public class BasicProperties {

    private UploadProperties upload = new UploadProperties();

    public UploadProperties getUpload() {
        return upload;
    }

    public void setUpload(UploadProperties upload) {
        this.upload = upload;
    }
}
public class UploadProperties {

    QiniuProperties qiniu = new QiniuProperties();

    public QiniuProperties getQiniu() {
        return qiniu;
    }

    public void setQiniu(QiniuProperties qiniu) {
        this.qiniu = qiniu;
    }
}

public class QiniuProperties {

    private String domain;

    private String accessKey;

    private String secretKey;

    private String bucket;

    public String getDomain() {
        return domain;
    }

    public void setDomain(String domain) {
        this.domain = domain;
    }

    public String getAccessKey() {
        return accessKey;
    }

    public void setAccessKey(String accessKey) {
        this.accessKey = accessKey;
    }

    public String getSecretKey() {
        return secretKey;
    }

    public void setSecretKey(String secretKey) {
        this.secretKey = secretKey;
    }

    public String getBucket() {
        return bucket;
    }

    public void setBucket(String bucket) {
        this.bucket = bucket;
    }
}

@Configuration
@EnableConfigurationProperties(BasicProperties.class)
public class BeanConfig {
}

2.配置属性

kjb:
  basic:
    upload:
      qiniu:
        accessKey: xxx
        secretKey: xxx
        domain: xxx
        bucket: xxx

3.读取属性

@Service("uploadService")
public class QiniuUploadServiceImpl implements UploadService {

   @Autowired
   private BasicProperties basicProperties;

   @Override
   public Token getToken() {
       Auth auth = Auth.create(basicProperties.getUpload().getQiniu().getAccessKey(), basicProperties.getUpload().getQiniu().getSecretKey());
       String upToken = auth.uploadToken(basicProperties.getUpload().getQiniu().getBucket(),null);
       String domain = basicProperties.getUpload().getQiniu().getDomain();
       QiniuToken qiniuToken = new QiniuToken();
       qiniuToken.setDomain(domain);
       qiniuToken.setToken(upToken);
       return qiniuToken;
   }
}
上一篇下一篇

猜你喜欢

热点阅读