现就可以了,由此解除了数据访问层和业务层的紧密耦合。数据访问类UserinfoDAO 继承于辅助类Hibernate-DaoSupport,借助于getHibernateTemplate() 获得对Hibernate资源的操作,极大的方便了Hibernate框架的使用。在UserinfoDAO中定义了对数据库表userinfo的操作函数。如下面代码,即是UserinfoService 中调用的saveData 方法。
public class UserinfoDAO extends HibernateDaoSupport implements IUserinfoDAO {
private static final Log log = LogFactory.getLog(UserinfoDAO.class);
protected void initDao() {
// do nothing
}
public void save(Userinfo transientInstance) {
log.debug("saving Userinfo instance");
try {
getHibernateTemplate().save(transientInstance);
log.debug("save successful");
} catch (RuntimeException re) {
log.error("save failed", re);
throw re;
}
}
部门添加模块中applicationContext.xml中的代码如下:
<!-- 创建事务管理类 -->
<bean id="transactionManager"
class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory">
<ref local="sessionFactory" />
</property>
</bean>
<!-- 创建用户事务代理类 -->
<bean id="userinfoDAOProxy"
class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
<property name="transactionManager">
<ref bean="transactionManager" />
</property>
<property name="target">
<ref local="UserinfoDAO" />
</property>
<property name="transactionAttributes">
<props>
<prop key="save*">PROPAGATION_REQUIRED</prop>
<prop key="modify*">PROPAGATION_REQUIRED</prop>
<prop key="delete*">PROPAGATION_REQUIRED</prop>
<prop key="get">PROPAGATION_REQUIRED,readOnly</prop>
<prop key="*">PROPAGATION_REQUIRED,readOnly</prop>
</props>
</property>
</bean>
…
<!--进行UserinfoDAO及其代理的依赖注入-->
<bean id="UserinfoService" class="com.dpt.ec.service.impl.UserinfoService">
<property name="userinfoDAO">
<ref bean="userinfoDAOProxy" />
</property>
</bean>
…
<!--调度管理#新增部门管理员 -->
<bean name="/depAdd" class="com.dpt.ec.web.action.admin.DepAddAction"
singleton="false">
<property name="userinfoService">
<ref bean="UserinfoService&quo
|