遇见,的gravatar头像
遇见, 2014-08-14 10:18:31

【高分求解】SPRING namedParameterJdbcTemplate为什么返回null?

使用spring jdbc

首先。 dataSource 用的C3P0 , 测试没有问题。

其次是DefaultService接口

public interface DefaultService {

}

以及DefaultServiceImpl 

public class DefaultServiceImpl extends NamedParameterJdbcDaoSupport implements DefaultService{

}

我在spring中声明了这个类

<bean id="defaultService" class="x.x.x.DefaultServiceImpl">
	<property name="dataSource" ref="dataSource"></property>
</bean>

然后我还有一个类是BaseServiceImpl

public abstract class BaseServiceImpl {
	
	private DefaultService defaultService;

	/**
	 * @return the defaultService
	 */
	public DefaultService getDefaultService () {
		return defaultService;
	}

	/**
	 * @param defaultService the defaultService to set
	 */
	public void setDefaultService (DefaultService defaultService) {
		this.defaultService= defaultService;
	}
	
}

在spring中配置

<bean id="serviceBase" abstract="true">
     <property name="defaultService" ref="defaultService" />
</bean>

----------------------------------------------------------------------------------------------

接下来是业务SERVICE

有一个TestService

public interface TestService {
	public List findDataList(Map params);
}

以及他的实现类, 继承了BaseServiceImpl

public class TestServiceImpl extends BaseServiceImpl implements TestService {

	/**
	 * @descrption 
	 */
	@Override
	public List findDataList(Map params) {
		String sql = "SELECT * FROM USERMARK WHERE ID = :id";
		return this.getNamedParameterJdbcTemplate().query(sql, params, new QueryRowMapper());
	}

}

然后在spring中配置了

<bean id="testService" autowire="byName" parent="serviceBase" class="x.x.x.TestServiceImpl"/>

------

在action里注入了这个testService, 没有问题注入成功, 进入到service里的findDataList方法了。

但是this.getNamedParameterJdbcTemplate()  返回为null  报了空指针。。 

namedParameterJdbcTemplate在NamedParameterJdbcDaoSupport类中注入。

首先要说明的是dataSource没有问题, 其次是和BaseServceImpl是个抽象类也没有关系。

在线求教。。

所有回答列表(2)
遇见,的gravatar头像
遇见,  LV36 2014年8月19日

哎 ,, 我估计就是JAR包版本问题了,, 我换了SPRING3.0就没有问题。。。   晕了

评论(0) 最佳答案
zppiio的gravatar头像
zppiio  LV13 2014年8月18日

应该是有个factory吧,把配置全部贴出来看看!

顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友