日期:2014-05-17  浏览次数:20635 次

求spring大神,策略模式中如何使用spring?
现在我使用策略模式,将变化的代码写成了抽象方法,抽象类中还有一些共用的方法,直接上几个简单的代码:
public abstract class A{
protected Dao dao;
public abstract void functionA(){//该方法是变化的方法
}
public void functionB(){//该方法是公用的方法,但是会调用dao,但是dao实际上是空值
   dao.XXX();
}
//getter,setter省略
}

子类:
public class B{
@Resource 
protected Dao dao;
@Override
public void functionA(){
......
}//getter,setter省略
}
现在问题是,spring不能注入抽象类,我在子类中,把属性什么的都注入了,但是还是会空指针,应该如何处理呢?

------解决方案--------------------
你扫描了吗。。。
------解决方案--------------------
这样就好了
public abstract class A{
@Resource //这里注入dao
protected Dao dao;
public abstract void functionA(){//该方法是变化的方法
}
public void functionB(){//该方法是公用的方法,但是会调用dao,但是dao实际上是空值
   dao.XXX();
}
//getter,setter省略
}


子类:
@Service //加这个注解
public class B{
//@Resource 
//protected Dao dao;  这里不要,父类已经有了,
@Override
public void functionA(){
......
}//getter,setter省略
}

你这样搞,就好了