问题描述
装载applicationContext_bean.xml的文件内容如下,写在web.xml里面的<context-param><description></description><param-name>contextConfigLocation</param-name><param-value>/WEB-INF/applicationContext*.xml</param-value></context-param>
applicationContext_bean.xml文件内容如下<beansxmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:p="http://www.springframework.org/schema/p"xmlns:context="http://www.springframework.org/schema/context"xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans-3.0.xsdhttp://www.springframework.org/schema/contexthttp://www.springframework.org/schema/context/spring-context-3.0.xsd"><context:component-scanbase-package="com.gs.ismd.fetch.app.*"/><beanid="namedParameterJdbcDaoSupport"class="org.springframework.jdbc.core.namedparam.NamedParameterJdbcDaoSupport"><propertyname="dataSource"ref="dataSource"/></bean></beans>
调用namedParameterJdbcDaoSupport的类如下@RepositorypublicclassPhoneDetailAndCallLogsDAOImpimplementsPhoneDetailAndCallLogsDAO{@ResourceprivateNamedParameterJdbcDaoSupportnamedParameterJdbcDaoSupport;publicDojoFormretrieve(){List<Map<String,Object>>res=this.namedParameterJdbcDaoSupport.getJdbcTemplate().queryForList(sql);returndf;}}
问题出现在调用namedParameterJdbcDaoSupport.getJdbcTemplate()的地方namedParameterJdbcDaoSupport引起了java.lang.NullPointerException.我是初学者,实在没找到哪块还可以配置不对。
解决方案
本帖最后由 enforceway 于 2013-12-20 14:07:45 编辑
解决方案二:
这个肯定是数据源对象没有创建成功,你检查下你配置的datasource是否正确。
解决方案三:
我找到错误了,这里使用了注入,但我自己偏偏new了DAOImpl打算调用namedParameterJdbcDaoSupport,当然这时候注入就失效了。