暑假实习做个J2ee项目,请大家批!
整体架构:Hibernate+Spring+Struts1.1+Ajax(只用了一点点Ajax)
Web服务器: Tomcat 5.0.28
数据库服务器:Oracle 9i
总的来说系统分成三层:持久层,业务层和Web层。
整个项目纵向开发,每个人负责单一模块的所有层的代码,各个模块之间的调用,自行协调。
首先从持久层来说,分成两个包,bean和dao:bean包内包含自动生成的hbm文件和类文件,单张表对应单个类,没有级联映射;dao包内包含的对单表(有的也包含业务逻辑相关的表)的CRUD操作(通过HibernateTemplate完成)。
业务层:service大部分只是简单调用了dao的类。
Web层:分成两个包form和action,form包内包含了ActionForm类文件;action包内包含的DispatchAction类文件,每个DispatchAction完成对一个数据表的crud操作。
各层之间的数据传递:数据库查询得到ArrayList,其中包含了bean类的对象,由持久层一直到Web层。由页面获的数据则通过ActionForm将数据复制到bean类中(手工完成的,繁!!!),最终写入数据库。
各层之间得耦合:通过Spring IOC “解耦”。
异常处理:没有自定义异常类型,持据层捕获异常,throw新得RuntimeException,一直抛到Web层。
事务配置:通过HibernateTransactionManager配置在业务层。通过方法名匹配,将addXXX,updateXXX,delXXX配置成原子操作。
还有一点,struts通过plugin加载spring,所有的action请求都被发送到org.springframework.web.struts.DelegatingActionProxy,通过method参数执行对应的方法。
整个过程没有考虑性能,所以对HQL和Hibernate没有深入学习(可惜!)。
俺是新手一个,哪里没有说明白的,请大家随便问。
系统不合理的地方,请大家任意批!!!
整体架构:Hibernate+Spring+Struts1.1+Ajax(只用了一点点Ajax)
Web服务器: Tomcat 5.0.28
数据库服务器:Oracle 9i
总的来说系统分成三层:持久层,业务层和Web层。
整个项目纵向开发,每个人负责单一模块的所有层的代码,各个模块之间的调用,自行协调。
首先从持久层来说,分成两个包,bean和dao:bean包内包含自动生成的hbm文件和类文件,单张表对应单个类,没有级联映射;dao包内包含的对单表(有的也包含业务逻辑相关的表)的CRUD操作(通过HibernateTemplate完成)。
业务层:service大部分只是简单调用了dao的类。
Web层:分成两个包form和action,form包内包含了ActionForm类文件;action包内包含的DispatchAction类文件,每个DispatchAction完成对一个数据表的crud操作。
各层之间的数据传递:数据库查询得到ArrayList,其中包含了bean类的对象,由持久层一直到Web层。由页面获的数据则通过ActionForm将数据复制到bean类中(手工完成的,繁!!!),最终写入数据库。
各层之间得耦合:通过Spring IOC “解耦”。
异常处理:没有自定义异常类型,持据层捕获异常,throw新得RuntimeException,一直抛到Web层。
事务配置:通过HibernateTransactionManager配置在业务层。通过方法名匹配,将addXXX,updateXXX,delXXX配置成原子操作。
还有一点,struts通过plugin加载spring,所有的action请求都被发送到org.springframework.web.struts.DelegatingActionProxy,通过method参数执行对应的方法。
整个过程没有考虑性能,所以对HQL和Hibernate没有深入学习(可惜!)。
俺是新手一个,哪里没有说明白的,请大家随便问。
系统不合理的地方,请大家任意批!!!