今天在用find bugs插件检查项目代码, 发现如下问题:
在web层的action中,定义了一个service层的接口, 已知action是继承struts2的ActionSupport,也就是说这个是实现了序例化接口的,而项目用的是spring的注入,所以action里面直接定义的是一个接口引用。
结果用find bugs一检查,报出这样提示:SE_BAD_FIELD原提示信息:
   可序列化的类中,有不能序列化,也不是transient,也不是static 的字段。并且这个类也没有实现接口Externalizable , 也没定义方法readObject 及writeObject,所以序列化及反序列化处理无法正常进行。代码参考:接口 
   public interface IPostQuesDel {
       ....
       ....
   }ACTION
   public class EvaluationUploadAction extends ActionSupport{
        private IPostQuesDel postQuesDel;   //find bugs报这行错
        ....
        ....
   }我想了一下,transient  static 这两个关键词都不怎么合适,都不应该加在这个属性前面,实现Externalizable这个接口也没大必要, 
实然脑子就断路了, 难不成将这个接口实现序例化接口Serializable ,可不对呀,接口只能继承,那能接口实现接口呢,           欢迎各位拍砖!