cla*_*smc 5 java spring pmd autowired
我在自动装配字段上收到诸如“BeanMembersShouldSerialize”之类的 PMD 异常。阻止它们的唯一方法是使用“transient”或@SuppressWarnings。我的问题是处理 PMD 和自动连线字段的正确方法是什么。
@Component
public class Sample {
@Autowired
private SoapProperties soapProperties;
public void doSomething() {
// do something
}
Run Code Online (Sandbox Code Playgroud)
Sample.java:13:找到非瞬态、非静态成员。请标记为瞬态或提供访问器。
我想有两个选择。首先,这是检查的文档。
第一个选项是通过以下属性向规则添加抑制:violationSuppressRegex、violationSuppressXPath、前缀。我还没有使用过 Regex 和 XPath 选项,但是 XPath 很有趣 - 如果您学会编写它,您还可以实现全新的检查(尽管语法和 AST 结构有点神秘)。有关规则集中抑制的示例,也许还有更多信息,请参阅此答案。
第二个选项是获取链接在那里的检查的java代码,并在那里实现自动装配的异常,然后在规则集中引用您的类,同时禁用原始BeanMembersShouldSerialize检查。我认为这会更困难,并且更有可能需要后续维护。
| 归档时间: |
|
| 查看次数: |
5171 次 |
| 最近记录: |