package com.yhy.dao.Impl;
import com.yhy.dao.IUserDao;
import com.yhy.model.User;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.orm.hibernate3.HibernateTemplate;
import org.springframework.stereotype.Repository;
@Repository
public class UserDaoImpl implements IUserDao {
@Autowired
private HibernateTemplate hibernateTemplate;
@Override
public void save(User user) {
hibernateTemplate.save(user);
}
}
要使用HibernateTemplate得配置xml
这是整合hiebernate的配置
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource" ref="dataSource"></property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.show_sql">true</prop>
<prop key="hibernate.format_sql">true</prop>
<prop key="hibernate.hibernate.hbm2ddl.auto">update</prop>
</props>
</property>
<property name="mappingLocations" value="classpath:com/yhy/model/*.hbm.xml"></property>
</bean>
//在这里进行装配
<bean id="hibernateTemplate" class="org.springframework.orm.hibernate3.HibernateTemplate">
<property name="sessionFactory" ref="sessionFactory"></property>
</bean>
如果不配置bean那么会报空异常,因为不知道用的哪个HibernateTemplate
其实我就是想说,如果当前类用注解的话,那么它的属性也得用注解,如果属性是框架的或者第三方的,不是自己写的,就要去配置xml,不然不行,就算你写了set方法,xml也配了,没写Autowired,也没用
因为当前类不用注解的话,配置的时候会配置类里的属性,而用注解了,就没再xml配,所以还是要用注解
所以容器都是先加载xml,在加载注解,这样才能初始化成功