如题,
知道的讲讲下,
谢谢了、

解决方案 »

  1.   

    你在 spring的参考手册 找到hibernate那章 看下 配置的代码就知道了
      

  2.   

    1:daoimpl没有extends HibernateDaoSupport 如下public class ProductDaoImpl implements ProductDao {    private HibernateTemplate hibernateTemplate;    public void setSessionFactory(SessionFactory sessionFactory) {
            this.hibernateTemplate = new HibernateTemplate(sessionFactory);
        }
    /*用hiberanteTemplate进行操作*/
    }配置文件要配置<beans>  <bean id="myProductDao" class="product.ProductDaoImpl">
    //可以省去property如果采用autowire:byName或byType    
    <property name="sessionFactory" ref="mySessionFactory"/>
      </bean></beans>2:daoimpl mextends HibernateDaoSupport
    public class ProductDaoImpl extends HibernateDaoSupport implements ProductDao {    public Collection loadProductsByCategory(String category) throws DataAccessException {
            return this.getHibernateTemplate().find(
                "from test.Product product where product.category=?", category);
        }
    }
    配置因为HibernateDaoSupport 封装了sessionFactory所以配置和上面是一样的。
      

  3.   

    这里是定义的sessionFactory
    <bean id="sessionFactory"
    class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"
    lazy-init="false">
    <property name="dataSource">
    <ref bean="dataSource" />
    </property>
    <property name="hibernateProperties">
    <props>
    <prop key="hibernate.dialect">
    org.hibernate.dialect.MySQLDialect
    </prop>
    </props>
    </property> <property name="mappingLocations"
    value="classpath:*.hbm.xml" /> </bean>
    你的Dao要么继承自HibernateDaoSupport.或者你单独将这个sessionFactory注入到HibernateTemplate中,再将HibernateTemplate注入到你的dao中
      

  4.   

    看来我题目没有说得清楚,
      <bean id="myProductDao" class="product.ProductDaoImpl">
    //可以省去property如果采用autowire:byName或byType    
    <property name="sessionFactory" ref="mySessionFactory"/>
      </bean>
    这个sessionFactory每次都需要声明注入到这个dao里,
    我需要的是只写
     <bean id="myProductDao" class="product.ProductDaoImpl">
      </bean>
    这个就行了,不去声明注入sessionFactory,
    想由spring自动完成注入。
      

  5.   

    spring的配置文件中加入  default-autowire="byName"