我在读取环境变量并同时满足 SonarLint(检测和修复质量问题)时遇到问题..这样它就不起作用了,我的变量为 null
private String accessKey;
@Value("${bws.access.key}")
public void setAccessKey(String ak){
accessKey=ak;
}
Run Code Online (Sandbox Code Playgroud)
将方法更改为静态(按照 sonarLint 的建议)不会对变量连续 null 起作用
private static String accessKey;
@Value("${bws.access.key}")
public static void setAccessKey(String ak){
accessKey=ak;
}
Run Code Online (Sandbox Code Playgroud)
我发现唯一有效的方法是将实例变量标记为静态,但不将方法标记为静态
private static String accessKey;
@Value("${bws.access.key}")
public void setAccessKey(String ak){
accessKey=ak;
}
Run Code Online (Sandbox Code Playgroud)
但 sonarLint 指出了问题 实例方法不应写入“静态”字段
难道我跨越边界获取环境变量的方式不正确吗?