看看你的配置文件是userdao还是userDao

解决方案 »

  1.   

    应该把方法的名字写成setIUserDao,像下面这样。你试试:public void setIUserDao(IUserDao userDao) {
        this.userDao = userDao;
      

  2.   

    zhj92lxs :    private  IUserDao userdao; 
    代码贴错了  private IUserDao userDao;  程序里没错  贴的时候写错了jumpheightway  : 代理错误的时候会出现这种错误吗?我的配置文件:
        
        <bean id="UsersDao" class="org.ethip.catalog.dao.UserDaoImpl"> 
         <property name="sessionFactory"> 
         <ref bean="mySessionFactory" /> 
         </property> 
        </bean> 
        
        <bean id="userTarget" class="org.ethip.catalog.service.UserServiceImpl"> 
         <property name="userDao"> 
         <ref local="UsersDao" /> 
         </property> 
        </bean>
        
        <bean id="IUserService" parent="myBaseTransactionProxy"> 
         <property name="proxyTargetClass"> 
         <value>true</value> 
         </property> 
         <property name="target"> 
         <ref local="userTarget" /> 
         </property> 
        </bean> 
      

  3.   

    tomcat 启动时候userDao的情况 
    但是调用Service的方法时候
      

  4.   

    <bean id="UsersDao" class="org.ethip.catalog.dao.UserDaoImpl"> 
    UsersDao 改小写:userDaoSpring注入找的是set方法,setUserDao(IUserDao userDao)这个方法,Spring会认为你的bean是小写开头的,基本的变量命名习惯啊。
      

  5.   

    配置文件:
      <bean id="UsersDao" class="org.ethip.catalog.dao.UserDaoImpl"> 
    而文代码中:
    private  IUserDao userdao;当然不会认
      

  6.   

    對喲  private  IUserDao userdao;申明注入的是userdao  而不是userDao  我都不曉得你在調save方法時候不出錯才怪了  你不會用this.userDao丫
      

  7.   

    应该是注入的时候set方法不对,或者配置文件注入userDao的时候参数错误
      

  8.   

    哥们太粗心了啊,userdao还是userDao
      

  9.   

    命名一定要规范!
    在userService里面的属性名userDao要与<bean ... <property name="userDao" />../>要一致;
    set(),get()自动生成;