springboot---读取配置文件的三种方法(详细)

点击查看

application.yml:

# 阿里云OSS
aliyun:
  oss:
    file:
      endpoint: oss-cn-beijing.aliyuncs.com # 对应公网endpoint地址
      accessKeyId: LTAI
      accessKeySecret: Pm1
      bucketName: w  #可以代码层面实现
      folder: active #保存文件夹路径

一、第一种 使用@PropertySource

@Component
@PropertySource(value = "classpath:application.yml") //指定配置文件的位置
public class AliConfig implements InitializingBean {
    /**
     * 对应公网endpoint地址
     */
    @Value("${aliyun.oss.file.endpoint}")
    private String endpoint;

    /**
     * AccessKeyId
     */
    @Value("${aliyun.oss.file.accessKeyId}")
    private String accessKeyId;

    /**
     * AccessKeySecret
     */
    @Value("${aliyun.oss.file.accessKeySecret}")
    private String accessKeySecret;

    /**
     * Bucket名称
     */
    @Value("${aliyun.oss.file.bucketName}")
    private String bucketName;

    /**
     * 上传文件夹路径
     */
    @Value("${aliyun.oss.file.folder}")
    private String folder;

    public static String END_POINT;
    public static String ACCESS_KEY_ID;
    public static String ACCESS_KEY_SECRET;
    public static String BUCKET_NAME;
    public static String FOLDER;

    @Override
    public void afterPropertiesSet() {
        END_POINT = endpoint;
        ACCESS_KEY_ID = accessKeyId;
        ACCESS_KEY_SECRET = accessKeySecret;
        BUCKET_NAME = bucketName;
        FOLDER = folder;
    }
}

二、第二种 直接在类中读取

@Slf4j
@RestController
@RequestMapping("/boot")
public class Controller {
 
    /**
     * 对应公网endpoint地址
     */
    @Value("${aliyun.oss.file.endpoint}")
    private String endpoint;

    /**
     * AccessKeyId
     */
    @Value("${aliyun.oss.file.accessKeyId}")
    private String accessKeyId;
 
    @GetMapping("getvalue")
    public void firstConfInject(){
        log.info("first conf inject: {},{}",endpoint,accessKeyId);
    }
}

三、第三种 使用@ConfigurationProperties

@Component
@ConfigurationProperties(prefix = "aliyun.oss.file")
public class AliOSSConfig {
    /**
     * 对应公网endpoint地址
     */
    private static String endpoint;

    /**
     * AccessKeyId
     */
    private static String accessKeyId;

    /**
     * AccessKeySecret
     */
    private static String accessKeySecret;

    /**
     * Bucket名称
     */
    private static String bucketName;

    /**
     * 上传文件夹路径
     */
    private static String folder;

    public static String getEndpoint() {
        return endpoint;
    }

    public void setEndpoint(String endpoint) {
        AliOSSConfig.endpoint = endpoint;
    }

    public static String getAccessKeyId() {
        return accessKeyId;
    }

    public void setAccessKeyId(String accessKeyId) {
        AliOSSConfig.accessKeyId = accessKeyId;
    }

    public static String getAccessKeySecret() {
        return accessKeySecret;
    }

    public void setAccessKeySecret(String accessKeySecret) {
        AliOSSConfig.accessKeySecret = accessKeySecret;
    }

    public static String getBucketName() {
        return bucketName;
    }

    public void setBucketName(String bucketName) {
        AliOSSConfig.bucketName = bucketName;
    }

    public static String getFolder() {
        return folder;
    }

    public void setFolder(String folder) {
        AliOSSConfig.folder = folder;
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Tan.]der

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值