首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >声纳: Spring组件的成员应该是"@Autowired“

声纳: Spring组件的成员应该是"@Autowired“
EN

Stack Overflow用户
提问于 2017-04-21 07:40:09
回答 1查看 3.9K关注 0票数 5

在最新版本(4.8.0.9441)中引入的SonarJava分析器,以及规则s3749 ( Spring的成员应该是"@Autowired")。事实证明,声纳完全排除了场注入以外的其他自动装配模式,即构造函数/setter @Autowired并不能防止这条规则失败。这背后有甚麽理据?

EN

回答 1

Stack Overflow用户

发布于 2017-04-21 07:59:43

看上去是个错误的规则。

方法还应该检查@Component

代码语言:javascript
复制
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}"注释的字段的情况。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43536730

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档