小编Man*_*ini的帖子

获取环境变量并通过SonarLint的正确方法

我在读取环境变量并同时满足 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 指出了问题 实例方法不应写入“静态”字段

难道我跨越边界获取环境变量的方式不正确吗?

java spring-boot

5
推荐指数
1
解决办法
925
查看次数

标签 统计

java ×1

spring-boot ×1