资料内容:
项目描述:
金和JC6V6.0是为了顺应市场需求,满足现代大型企业的支持集团化应用、多维度的权限、大用户以及集群式部署的需求,在基于J2EE + SqlServer2005 + Windows2008R2的平台下,开发JC6协同管理平台。在该项目中担任开发工程师,主要负责项目具体功能的开发、测试、维护及形成各种技术文档等工作。该系统前台运用了Struts框架,利用Spring框架管理对象的生命周期、注入依赖对象和使用容器声明式事务管理,有效降低各层耦合性。持久化层使用hibernate来实现,使用泛型DAO把添/删/改/查/分页/统计这些操作进行了封装,子类只要继承该DAO就具备这些行为。在实现细粒度权限管理时使用了Struts2中提供的拦截器实现对Action方法的拦截,当确定用户具有某个权限时,才允许Action方法继续执行。粗粒度权限管理使用Filter实现。实现DAO代码时,我们并没有使用HibernateTemplate和HibernateDaoSupport,主要因为这两个类都是由Spring提供的,从无入侵性的角度来看,应用会跟Spring容器产生紧密的耦合。这里我们使用了Hibernate原生的API实现DAO,当然这种方式只能在Hibernate3以上版本中使用,而且必须通过getCurrentSession()方法获取当前被spring管理的session,而不能使用openSession(),因为openSession()得到的session是不受spring容器管理的,无法使用容器管理事务功能。