日期:2014-05-20  浏览次数:20690 次

spring不能注入的问题
我做的工程是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 为空。
希望各位高手能不吝赐教!

------解决方案--------------------
哦,刚发现,看差了……
看了GET方法,没看SET……
原来你GET和SET不是一对的……
------解决方案--------------------
我以前也遇到这个问题,网上的相关资料也说:setXXX和getXXX方法要配套的
------解决方案--------------------
注意get,set的大小写问题

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


希望此次回答对楼主有很大的帮助。
------解决方案--------------------
<ref bean="izdydkhdaDao" />