SONAR:Spring组件的成员应该是“@Autowired”

时间:2017-04-21 07:40:10

标签: java spring sonarqube autowired

最新版本(4.8.0.9441)中引入的SonarJava分析器规则s3749 Spring组件的成员应该是“@Autowired”)。事实证明,SONAR完全排除了其他自动装配模式,而不是场注入,i。即构造函数/ setter @Autowired不会阻止此规则失败。这背后有什么理由吗?

1 个答案:

答案 0 :(得分:0)

看起来像是一个错误的规则。

该方法还应该检查@Component

private static boolean isSpringComponent(SymbolMetadata clazzMeta) {
    return clazzMeta.isAnnotatedWith("org.springframework.stereotype.Controller")
      || clazzMeta.isAnnotatedWith("org.springframework.stereotype.Service")
      || clazzMeta.isAnnotatedWith("org.springframework.stereotype.Repository");
}

也可能存在使用@Value("${some.property}"等注释的字段的情况。