java SpringBoot 静态方法中获取@Value注入的值

我们正常@Value注入是可以使用的,前提不是静态方法中获取
我们在静态方法获取@Value注入是null

静态方法获取@Value值

使用set方法赋值

private static String accessKeyId;
private static String secret;

@Value("${video.accessKeyId}")
public void setAccessKeyId(String accessKeyId) {
    VideoConfig.accessKeyId= accessKeyId;
}
@Value("${video.secret}")
public void setSecret(String secret) {
    VideoConfig.secret= secret;
}
@SneakyThrows
public static DefaultAcsClient initVodClient() {
    String regionId = "cn-shanghai";  // 点播服务接入地域
    // 正常获取@Value注入的值了
    DefaultProfile profile = DefaultProfile.getProfile(regionId, accessKeyId, secret);
    DefaultAcsClient client = new DefaultAcsClient(profile);
    return client;
}

注意:一定要在类加@Component注解

posted @ 2022-09-01 14:55  勇不停歇  阅读(131)  评论(0)    收藏  举报