我是用BasehibernateDAo继承了hibernateDaosupport实现的三层
配置文件如下:
<?xml version="1.0" encoding="UTF-8"?>
<beans
xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">
<bean id="dataSource"
class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName"
value="com.microsoft.sqlserver.jdbc.SQLServerDriver">
</property>
<property name="url"
value="jdbc:sqlserver://localhost:1433;databaseName=CRM">
</property>
<property name="username" value="sa"></property>
<property name="password" value="sa"></property>
</bean>
<bean id="sessionFactory"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource">
<ref bean="dataSource" />
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">
org.hibernate.dialect.SQLServerDialect
</prop>

</props>
</property>

<property name="mappingResources">
<list>

<value>crm/team2/entity/Firm.hbm.xml</value>
                            <value>crm/team2/entity/Manager.hbm.xml</value>
        </list>
</property>

</bean>
<bean id="BaseHibernateDAO" abstract="true"
class="crm.team2.dao.Impl.BaseHibernateDAO">
<property name="sessionFactory">
<ref bean="sessionFactory" />
</property>
</bean>


<bean id="FirmDAO" class="crm.team2.dao.Impl.FirmDAOImpl" parent="BaseHibernateDAO">
<property name="sessionFactory">
<ref bean="sessionFactory" />
</property>
</bean>
<bean id="firmBiz" class="crm.team2.biz.Impl.FirmBizImpl"
abstract="false" lazy-init="default" autowire="default"
dependency-check="default">
<property name="firmDao">
<ref bean="FirmDAO" />
</property>
</bean>
<bean name="/firm" class="orm.team2.struts.action.FirmAction"
abstract="false" lazy-init="default" autowire="default"
dependency-check="default">
<property name="firmBiz">
<ref bean="firmBiz" />
</property>
</bean></beans>//根据条件按页显示记录
public List search(int pageNo,int pageSize,Firm condition){
String hql="from Firm fr where 1=1";
                  SessionFactory sessionFactory=super.getHibernateTemplate().getSessionFactory();
if(null!=condition){
if(condition.getFname()!=null&&!condition.getFname().equals("")){
hql+="and fr.fname like '%" +condition.getFname()+"%'";
}
if(condition.getFcontext()!=null&&!condition.getFcontext().equals("")){
hql+="and fr.fcontext like '%" +condition.getFcontext()+"%'";
}
if(condition.getFlinkMan()!=null&&!condition.getFlinkMan().equals("")){
hql+="and fr.flinkMan like '%" +condition.getFlinkMan()+"%'";
}

}
int firstResultIndex=pageSize*(pageNo-1);
//Integer values[]={firstResultIndex,pageSize};

Query query=sessionFactory.getCurrentSession().createQuery(hql);
query.setFirstResult(firstResultIndex);
query.setMaxResults(pageSize);
return query.list();


}
但是一启动服务器就报如下的错误
Error creating bean with name 'FirmDAO' defined in class path resource [applicationContext.xml]: Instantiation of bean failed; nested exception is org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [crm.team2.dao.Impl.FirmDAOImpl]: Constructor threw exception; nested exception is java.lang.NullPointerException
Caused by: org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [crm.team2.dao.Impl.FirmDAOImpl]: Constructor threw exception; nested exception is java.lang.NullPointerException
Caused by: java.lang.NullPointerException
at crm.team2.dao.Impl.FirmDAOImpl.<init>(FirmDAOImpl.java:23)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:494)
at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:85)
at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:61)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCapableBeanFactory.java:759)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:724)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:387)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:251)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:156)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:248)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:160)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:287)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:352)
at org.springframework.web.struts.ContextLoaderPlugIn.createWebApplicationContext(ContextLoaderPlugIn.java:355)
at org.springframework.web.struts.ContextLoaderPlugIn.initWebApplicationContext(ContextLoaderPlugIn.java:296)

不知道怎么回事,希望大侠们帮帮忙