我们正常@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注解

Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐