spring整合struts2时action里的service注入不进来,报空指针异常

spring整合struts2时action里的service注入不进来,报空指针异常(有继承时)


commonDao extends SqlMapClientDaoSupport {

public Object find(String statementName,T t){
return this.getSqlMapClientTemplate().queryForObject(statementName,t);
}

/**
* ������������ѯObjectList
* @param statementName
* @param t
* @return
*/
public Object findList(String statementName,T t){
return this.getSqlMapClientTemplate().queryForList(statementName, t);
}

/*
* ��ѯ����
*/
public Object findList(String statementName) {
return this.getSqlMapClientTemplate().queryForList(statementName);
}

/**
* ɾ��
* @param statementName
* @param t
* @return ����ɾ��ļ�¼��Ŀ
*/
public Object delete(String statementName, T t) {
return this.getSqlMapClientTemplate().delete(statementName, t);
}


/**
* ����
* @param statementName
* @param t
* @return
*/
public Long insert(String statementName, T t) {
return (Long) this.getSqlMapClientTemplate().insert(statementName, t);
}


/**
* ����
* @param statementName
* @param t
*/
public void update(String statementName, T t) {
this.getSqlMapClientTemplate().update(statementName, t);


public List selectNewsByServId(Long servId,int pageNum,int pageSize)throws SQLException{
SqlMapClientTemplate sqlMapClient = null;
List list = sqlMapClient.queryForList("showNewsListInation",servId,pageNum,pageSize);
return list;

}

}



	我有一个接口BaseService提供一些公用方法(里面暂时没什么方法,空的)和实现类BaseServiceImp,这个接口提供一些公用方法(暂时没有方法,只是注入了BaseDao),其余Service继承这个BaseService。
//在BaseServiceImpl内注入BaseDao
public class BaseServiceImpl implements BaseService{

public commonDao commonDao;


public commonDao getCommonDao() {
return commonDao;
}


public void setCommonDao(commonDao commonDao) {
this.commonDao = commonDao;
}




public class UserServiceImpl  extends BaseServiceImpl implements UserService



运行时能正确接收userName和passWord两个JSP页面提交的参数,debug了下,UserAction里面的userService为null,而且写了个类测试了下,都能取到applicationContext.xml文件里面的各个bean,而且bean的getXXX,setXXX方法都能正确执行

//单元测试

ApplicationContext atx=new ClassPathXmlApplicationContext("applicationContext.xml");
LoginService userService=(UserService)atx.getBean("userIService");

userService.login(user);

//userService.add(user);

单元测试login、add等方法都通过。

问题:当我在action中通过userService调用方法时,报空指针异常,断点发现是baseDao== null(userService==null),并未注入进去。
找了半天 网上说检查set方法、 xml配置啊什么的都没有问题;最后实在没办法想到看看包有没有问题,果然发现没有spring-struts-plugin这个包,
没有这个包spring怎么帮你管理struts的相关事物啊,也就没法自动注入了,这妹子真坑啊,最后成功帮她解决了问题。
 
  
关于这个包是干什么的,spring、struts2整合时用到的,大概就是struts的一些事物交给spring管理吧,至于细节自己查吧。




你可能感兴趣的:(ssh,ssh)