用spring的IOC,需要写很多配置,比如取最大号的接口,许多模块中都用到,看起来是用接口,但每个bean中都要声明一个固定的实现类,能否直接用接口而不关心具体的实现类呢?
看不明白,请楼主举例解释一下
难道接口不需要实现类?

解决方案 »

  1.   

    需要啊,有一个固定的实现类,例如接口是IGetNextID,那么每个需要取最大号的类中都要代码:
    IGetNextId getnextid;
    public IGetNextId getGetnextid() {
    return getnextid;
    }
    public void setGetnextid(IGetNextId getnextid) {
    this.getnextid= getnextid;
    }
    这还不算完,XML配置中还需要把参考的实现类bean ID注入进去,每多类都用到这个功能,那就每个bean都一大堆重复的代码,XML中也有许多几乎相同的注入语句。能否保留使用接口的好处,但不需要这么多配置呢?
      

  2.   

    重复的代码当然是封装到一个通用的bean中然后其他bean都继承下来就可以了xml中注入bean是必须的,如果有完全相同的也可以用parent="abstract bean"