我做的工程是Hibernate+Spring+CXF,Hibernate和Spring都写完了,然后把Spring的一个类做成Webservice。
===============================================
这个类调用了IZdydkhdaDao接口
import javax.jws.WebService;
import com.huaqiang.dao.IZdydkhdaDao;
import com.huaqiang.manager.IZdydkhdaManager;
import com.huaqiang.model.Zdydkhda;
import com.huaqiang.model.parameter.QZdydkhda;
@WebService(endpointInterface="com.huaqiang.manager.IZdydkhdaManager")
public class ZdydkhdaManagerImpl implements IZdydkhdaManager {
private IZdydkhdaDao izdydkhdadao;
    public ZdydkhdaManagerImpl(){
    
    }
public void setIzdydkhdaDao(IZdydkhdaDao izdydkhdaDao) {
this.izdydkhdadao = izdydkhdaDao;
}
    public String getHello(String parm){
     return "你好, "+parm;
    }
public Zdydkhda[] getZdydkhda(QZdydkhda qzdydkhda){
if(izdydkhdadao!=null)
System.out.println("izdydkhdadao is not null!");
else
System.out.println("izdydkhdadao is  null!");//程序执行到这,izdydkhdadao 为空
return izdydkhdadao.getZdydkhda(qzdydkhda);
}
}
===============================================
applicationContext.xml 文件的内容
<bean id="izdydkhdaDao"
class="com.huaqiang.dao.impl.ZdydkhdaDaoImpl" >
<property name="sessionFactory">
<ref bean="sessionFactory" />
</property>

</bean>
<bean id="IZdydkhdaManager"
class="com.huaqiang.manager.impl.ZdydkhdaManagerImpl">
<property name="izdydkhdaDao">
 <ref bean="izdydkhdaDao" />
</property> </bean>
<!--发布成Webservice -->
<bean id="zdydkhda" class="com.huaqiang.manager.impl.ZdydkhdaManagerImpl" />   
    <jaxws:endpoint id="zdydkhdaImpl" implementor="#zdydkhda" address="/IZdydkhda" />  
  ========================================
我写了一个单元测试类,可以从数据库里取出结果。应该说明Hibernate和Spring整合没有问题。
上边的类里还有一个getHello方法,当我用客户端调用这个方法时,正常。
我的问题是,为什么调用getZdydkhda时,izdydkhdadao 为空。
希望各位高手能不吝赐教!

解决方案 »

  1.   

    你的izdydkhdadao是在哪生成的?
    你在调getZdydkhda之前有给izdydkhdadao赋值吗?
      

  2.   

    哦,刚发现,看差了……
    看了GET方法,没看SET……
    原来你GET和SET不是一对的……
      

  3.   

    我以前也遇到这个问题,网上的相关资料也说:setXXX和getXXX方法要配套的
      

  4.   

     问  题 回 答:
             1.没有GET和SET方法,建议采用自动生成(不会出现细小错误)。
             2.执行1还不行的话,建议楼主仔细看看源码和配置文件。看看问题是否出现在配置文件中
                         希望此次回答对楼主有很大的帮助。
      

  5.   

    <ref bean="izdydkhdaDao" />