Java web五层架构

DAO层:

1.DAO层--[面向表] 持久层数据访问层,主要与数据库进行交互

介绍:

DAO层只是封装增删改查比较底层,比较基础的操作,具体到对于某个表、某个实体的增删改查至于增删查改如何去实现一个功能,dao是不管的

在接口中对方法进行了定义,在UserDao.xml中给出了sql语句实现.

建议:

建议DAO只做原子操作,增删改查

 

Entity:

1.Entity层(domain层):model层实体层  数据库在项目中的类

介绍:entity实体层,放置一个个实体,及其相应的set、get方法。如果想要对数据库进行一些操作(比如说读取)的话,就要先写entity层

建议:

 

Service层

1.Service层(biz)--[面向业务]:业务层服务层, 控制业务

 

介绍

粗略的理解就是对一个或多个DAO进行的再次封装,封装成一个服务,所以这里也就不会是一个原子操作了,需要事物控制service层里面的方法相较于dao层中的方法进行了一层包装,例如通过id查找用户,通过用户名查找用户,是在基础的操作上又增加了一层包装的,实现的是相对高级的操作。最后将这些操作在serviceimpl类中实现.

service层要使用接口来定义好处:

service实现类实现了service接口,进行具体的业务操作

1.java中接口是多继承的,而类是单继承的.如果你需要一个类实现多个service,你用接口可以实现,用类定义service就没那么灵活

2.要提供不同的数据库的服务时,我们只需要面对接口用不同的类实现即可,而不用重复地定义类.

3.编程规范问题,接口化的编程为的就是将实现封装起来,然调用者只关心接口不关心实现,也就是“高内聚,低耦合”的思想.

 

建议:

 

 

Controller层:

1.Controller(action):控制层  控制业务逻辑

介绍:

Controler主要处理外部请求负责请求转发,接受页面过来的参数,传给Service处理,接到返回值,再传给页面。

建议:

 

View层:

1.View层

介绍:

View层 此层与控制层结合比较紧密,需要二者结合起来协同工发View层主要负责前台jsp页面的表示

建议:

 

其流程为:Controller层调用Service层的方法,Service层调用Dao层中的方法,其中调用的参数是使用Entity层进行传递的。

猜你喜欢

转载自www.cnblogs.com/yanghe123/p/10843962.html