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