我要注入父类然后,子类可以调用父类的方法啊,我应该怎么配置啊! 
但是我下面的配置EditInfoDao. searchInfo()
的时候父类的jdbcTemplate总是null不知道应该怎么配置啊就是下面这里 
public   class   BaseDao   { 
/** 
  *   通过Sql检索DB 
  */ 
public   List <Object>   queryForList(String   sql,   Object   parameter[])   { 
return     jdbcTemplate.queryForList(sql,   parameter); 

/* 
*注入jdbcTemplate,其他子类都可以用了 
*/ 
private   JdbcTemplate   jdbcTemplate; 
public   JdbcTemplate   getJdbcTemplate()   { 
return   jdbcTemplate; 

public   void   setJdbcTemplate(JdbcTemplate   jdbcTemplate)   { 
this.jdbcTemplate   =   jdbcTemplate; 

} public   class   EditInfoDao   extends   BaseDao{ 
//检索Db中信息 
public   List   searchInfo()   { 
return   queryForList("SELECT   *   FROM   SPRINGTEST",   null); 


<bean   id="baseDao"   class="com.cn.springcomm.BaseDao"> 
<property   name="jdbcTemplate"> 
<ref   bean="jdbcTemplate"/> 
</property> 
</bean> 

解决方案 »

  1.   

    <bean  id="xxxDao" class="com.cn.springcomm.XxxDao"  parent="baseDao">
    </bean> 
      

  2.   

    不能这样用,你的子类根本没初始化,当然不能用了,另外,你父类中的jdbcTemplate是private的,对子类是不可见的。
      

  3.   

    或者你干脆弄个自动绑定就行了,
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
    <beans default-autowire="byName"></beans>
      

  4.   

    你没有setJdbcTemplate,肯定取得不到啊.跟正常的bean一样的道理.没有设值.取到的就是初始化的.而你也没有初始化,就是null了.
      

  5.   

    这个我知道啊!我的问题就是怎么能配置的让继承的的类全都能用父类的方法而不会返回null啊
      

  6.   

    <bean     id="xxxDao"   class="com.cn.springcomm.XxxDao"     parent="baseDao"> 
    </bean>   
    这个难道不行么?你把子父类都配一下.
      

  7.   

    应该不可以的,你这样配置只是产生了BaseDao,并没有产生EditInfoDao。
      

  8.   

    我希望只在spring里配置baseDao.其他子类只要在程序里面显示的继承baseDao类就可以实现里面的功能了?
    这样能做到吗?
      

  9.   

    做不到,spring哪知道你要实例哪些类啊``
    要用子类必须实例子类
      

  10.   

    加上这段<bean       id="editInfoDao "       class="com.cn.springcomm.EditInfoDao">   
    <property       name="baseDao">   
    <ref       bean="baseDao"/>   
    </property>   
    </bean>   
    把 EditInfoDao这类加上BaseDao的get和set方法
    还要在EditInfoDao 类中searchInfo的方法这样修改一下
    public   class       EditInfoDao       extends       BaseDao{   
    //检索Db中信息   
    public       List       searchInfo()       {   
    return       [color=#FF0000]baseDao.queryForList("SELECT       *       FROM       SPRINGTEST",       null);   
    }   
    }
      [/color] 
      

  11.   

    把   EditInfoDao这类加上BaseDao的get和set方法 
    还要在EditInfoDao   类中searchInfo的方法这样修改一下
    public   class    EditInfoDao    extends     BaseDao{       
    //检索Db中信息       
        public List  searchInfo(            {       
          return baseDao.queryForList("SELECT* FROM SPRINGTEST",null);    
       }       

      

  12.   

    public   class    EditInfoDao    extends     BaseDao{       
    //检索Db中信息       
        public List  searchInfo(            {       
          return baseDao.queryForList("SELECT* FROM SPRINGTEST",null);    
       }       

      

  13.   

    楼上的,你还真挺长脸的啊,真好意思啊看看这是举报他的帖子,还挂着呢
    http://topic.csdn.net/u/20080124/08/b14ab841-be1e-4d0d-b16e-52f77fd3a764.html?seed=1573367784