action层
BaseAction.java
package common.action;
import java.text.SimpleDateFormat;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts2.interceptor.ServletRequestAware;
import org.apache.struts2.interceptor.ServletResponseAware;
import org.apache.struts2.interceptor.SessionAware;
import com.opensymphony.xwork2.ActionSupport;import common.serive.BaseService;
import common.serive.BasicHibernateSerive;@SuppressWarnings("serial")
public class BaseAction extends ActionSupport implements ServletRequestAware,ServletResponseAware,SessionAware {
    
    protected HttpServletRequest request;
protected HttpServletResponse response;
@SuppressWarnings("unchecked")
protected Map map;
public BasicHibernateSerive basicHibernateSerive;protected void setHead(){
response.setCharacterEncoding("utf-8");
}
public String execute() throws Exception {
return null;
}
/**
 * @param request the request to set
 */
public void setServletRequest(HttpServletRequest request) {
this.request = request;
}/**
 * @param response the response to set
 */
public void setServletResponse(HttpServletResponse response) {
this.response = response;
}
/**
 */
public void setSession(Map<String, Object> arg0) {
this.map = arg0;
}public void setBasicHibernateSerive(BasicHibernateSerive basicHibernateSerive) {
this.basicHibernateSerive = basicHibernateSerive;
}
}
Serive层
BasicHibernateSerive.javapackage common.serive;import common.HibernateDao.Dao;
public class BasicHibernateSerive {
public void setDao(Dao dao) {
this.dao = dao;
}} 
impl层
BaiscHibernateImpl.java
package common.dao.impl;import java.util.Iterator;import org.hibernate.Query;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;import common.HibernateDao.Dao;public class BaiscHibernateImpl extends HibernateDaoSupport implements Dao{public BaiscHibernateImpl() {}
public <T> Iterator<T> save(String hql) {
Query query = getSession().createQuery(hql);
return query.iterate();
}
  public void save(Object obj){
        getSession().save(obj);
    }public <T> T queryOneResult(String hql) {
Query query = getSession().createQuery(hql);
     query.setMaxResults(1);
     return (T)query.uniqueResult();
}
}
spring配置如下
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd"><beans default-lazy-init="true">
<!-- 基础配置文件,应用全局相关的spring对象配置 -->
<bean id="propertyConfigurer"
class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="locations">
<list>
<value>classpath:global.properties</value>
</list>
</property>
</bean><bean id="dataSource"
class="org.apache.commons.dbcp.BasicDataSource"
destroy-method="close">
<property name="driverClassName"
value="${jdbc.driverClassName}" />
<property name="url" value="${jdbc.url}" />
<property name="username" value="${jdbc.username}" />
<property name="password" value="${jdbc.password}" />
<property name="initialSize" value="${jdbc.initialSize}" />
<property name="maxActive" value="${jdbc.maxActive}"/>
<property name="maxIdle" value="${jdbc.maxIdle}"/>
<property name="accessToUnderlyingConnectionAllowed" value="true" />
</bean><bean id="sessionFactory"
class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean" lazy-init="false">
<property name="dataSource" ref="dataSource" />
<property name="configLocation"
value="classpath:hibernate.cfg.xml" />
</bean><!-- transactionManager (Hibernate3) -->
<bean id="transactionManager"
class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory" ref="sessionFactory" />
</bean><!--  事务对象代理(模版)-->
<bean id="baseTransactionProxy"
class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean"
abstract="true">
<property name="transactionManager" ref="transactionManager" />
<property name="transactionAttributes">
<props>
<prop key="*">PROPAGATION_REQUIRED</prop>
</props>
</property>
</bean><bean id="genericHibernateDao"
class="common.dao.impl.BaiscHibernateImpl">
<property name="sessionFactory" ref="sessionFactory" />
</bean>
   <bean name="basicService" parent="baseTransactionProxy">
<property name="target">
<bean class="common.serive.BasicHibernateSerive">
<property name="dao" ref="genericHibernateDao" />
</bean>
</property>
</bean>
</beans>
请问我这哪配置不对,为什么this.basicHibernateSerive.dao为什么为null