1.自己在beans.xml文件中写上
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<property name="driverClassName">
<value>com.mysql.jdbc.Driver</value>
</property>
<property name="url">
<value>jdbc:mysql://localhost:3306/hibernate</value>
</property>
<property name="username">
<value>root</value>
</property>
<property name="password">
<value>zk19921027</value>
</property>
</bean>
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
<property name="dataSource" ref="dataSource"/>
<property name="annotatedClasses">
<list >
<value>com.zk.register.model.User</value>
</list>
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>
<prop key="hibernate.show_sql">true</prop>
</props>
</property>
</bean>
<bean id="hibernateTemplate" class="org.springframework.orm.hibernate3.HibernateTemplate">
<property name="sessionFactory" ref="sessionFactory"></property>
</bean>
然后再daoimpl层将hibernatetemplate注入进去,这是可以使用它的find(),save()方法等
2.第二种daoimpl直接继承hibernatedaosupport来实现hibernatetempl,但是在这里要注意的是必须注入在父类中注入userservice,所以我们要重写父类的setuserservice的方法
@Resource
public void setSessionfactory(SessionFactory sessionfactory) {
this.setSessionFactory(sessionfactory);
}
3.第三种方法使用xml的方法,在applicationcontext.xml文件中的userdao的bean中注入userservice,而在userdao中没有相应的userservice,这时就会主动的将userservice注入到dao的父类中去
<bean id="userDao" class="com.test.dao.impl.UserDaoImpl"
scope="singleton">
<property name="sessionFactory">
<ref bean="sessionFactory" />
</property>
</bean>