繁体   English   中英

如何教findbugs正确理解IoC字段?

[英]How to teach findbugs to understand IoC fields properly?

这是我的班级(JAX-RS注释):

@Path("/")
public class Foo {
  @Context
  private UriInfo uriInfo;
  // ...
}

这就是findbugs所说的:

Unwritten field: com.XXX.Foo.uriInfo

确实,该字段是不成文的,但它是由JAX-RS servlet注入的。 我认为我在这里做错了什么,但如何解决这个问题呢?

到目前为止我所了解的是,findbugs是对的。 它告诉我这个变量不能从类的外部访问,并且我的注释在OOP方面无效。 JAX-RS servlet必须打破字段访问限制才能注入UriInfo 我必须给他这个领域的合法途径:

@Path("/")
public class Foo {
  private UriInfo uriInfo;
  @Context
  public void setUriInfo(UriInfo info) {
    this.uriInfo = info;
  }
  // ...
}

现在它对于findbugs和OOP设计范例是正确的:)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM