web项目的分层开发

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了web项目的分层开发相关的知识,希望对你有一定的参考价值。

没实习之前,一直在学校实验室做项目,项目比较简单,套个SSH或者SSM框架,就行了。项目大体分为了controller层、service层、dao层、domain层。

controller层主要是与web页面相关的,比如页面中的一个“点赞”请求会根据配置文件或者注解映射到controller中对应的某个类(struts2)或者某个方法(springmvc)。

service层主要处理业务逻辑,比如“点赞”之后,系统有邮件通知你、为你加积分等这样的业务操作,都属于service层。

dao层主要是和数据库打交道,调用hibernate或者mybatis进行CRUD操作。

domain层,表示实体层,比如一个学生就可以算作一个实体,其包括姓名、学号等属性。

层级间的调用关系:

技术分享

使用orm框架的话,dao层会将从数据库中取得的数据先放到domian层中的一个实体类中去,方便操作。

 

最近在公司实习,发现公司web项目的分层中多了几层。

proxy层、dto层、manager层。

proxy代理层,现在的项目都是面向服务开发(SPA)的,所以就出现了这么一层来调用别的服务的接口。

dto层,和domain层很像,主要用来建立传输对象的实体类。

manager层,起初我以为是service层的另一种加法,后来一名老员工告诉我,这一层主要是用来做事务控制的,比如用spring做项目的事务管理,都在这一层写配置或者代码。

 

以上是关于web项目的分层开发的主要内容,如果未能解决你的问题,请参考以下文章

Web开发之三层架构

Web项目结构分层

web项目分层设计

Java Web应用的代码分层最佳实践

spring---web项目结构分层

我买了一本java web 典型模块与项目实战大全,请问里面内容为啥都没有service层呢?