Axis web服务 使用Spring注解时, 出现null情况

在做项目的过程中,需要做一个中间服务,中间服务为单独一个java工程,对外提供webservice服务。 java工程采用的是Spring3.1和axis2相结合。

工程完成后,Spring注解没有问题,web服务也正常, web服务直接调用service层, 其中service层,用到的dao,来查询数据库。 代码如下:

web服务配置:

Axis web服务 使用Spring注解时, 出现null情况
 <service name="Ws_co" provider="java:RPC">
  <parameter name="allowedMethods" value="*"/>
  <parameter name="className" value="com.lc.tobacco.order.service.impl.CgtOrderServiceImpl"/>
 </service>
Axis web服务 使用Spring注解时, 出现null情况


service服务:

Axis web服务 使用Spring注解时, 出现null情况
public class CgtOrderServiceImpl implements ICgtOrderService {

    private static final Logger logger = LoggerFactory.getLogger(CgtOrderServiceImpl.class);

    @Resource
    private ICgtOrderDao cgtOrderDao;
    
}
Axis web服务 使用Spring注解时, 出现null情况

但是调用调用dao层时,出现cgtOrderDao=null错误。

 

Axis web服务 使用Spring注解时, 出现null情况
String code="000";
String msg="获取数据成功!";
BigDecimal qtyLimit = zero;
try{
            
    Map custRsnQty = cgtOrderDao.getCustRsnQty(comId,custId);
}catch(Exception e ){
    code="104";
    msg="获取数据失败!e=="+e.toString();
    logger.debug("获取数据失败!e=="+e.toString());
}
Axis web服务 使用Spring注解时, 出现null情况

 

如果按正常流程 controller --> service --> dao ,cgtOrderDao不为null,程序正常。
郁闷好久没有解决,只临时找到一个方案:

xml中增加:

 <bean id="cgtOrderDao"
  class="com.lc.tobacco.order.dao.impl.CgtOrderDaoImpl">
  <property name="dataSource" ref="dataSource" />
 </bean>

 

Axis web服务 使用Spring注解时, 出现null情况
@Service("cgtOrderService")
public class CgtOrderServiceImpl implements ICgtOrderService {

    private static final Logger logger = LoggerFactory.getLogger(CgtOrderServiceImpl.class);

    @Resource
    private ICgtOrderDao cgtOrderDao;
    
    public ICgtOrderDao getCgtOrderDao() {
        return cgtOrderDao;
    }



    public void setCgtOrderDao() {
       
        WebApplicationContext context
=ContextLoader.getCurrentWebApplicationContext();
        cgtOrderDao
= (ICgtOrderDao)context.getBean("cgtOrderDao"
);
    }

 public String execute(String xmlStr) throws Exception {
  if(null == cgtOrderDao){
   setCgtOrderDao();



}


Axis web服务 使用Spring注解时, 出现null情况

至此,工程调试,通过。

Axis web服务 使用Spring注解时, 出现null情况,布布扣,bubuko.com

Axis web服务 使用Spring注解时, 出现null情况

上一篇:C语言register关键字—最快的关键字


下一篇:多线程操作的同步问题