java web开发中的各种层


Dao层(mapper层,持久层、数据访问层)

功能:只负责与数据库的数据进行交互。

DAO层首先会创建DAO接口,然后会在配置文件中定义该接口的实现类,接着就可以在模块中就可以调用DAO 的接口进行数据业务的而处理。

Service层(业务层、biz层)

功能:Service层用于实现操作的具体方法,包含了对页面操作模块的代码

Service用于存放业务逻辑处理,不直接和数据库打交道,为controller层提供方法接口,Service层不仅有接口也有接口的实现方法,接口的实现方法在impl文件里。

Controller层(控制层、action层)

功能:控制业务逻辑

Controller层负责具体的业务模块流程的控制,controller层主要调用Service层里面的接口控制具体的业务流程,控制的配置也需要在配置文件中进行。

Entity层(实体层、domain层、pojo层)

功能:entity层用于定义实体,定义各个属性以及各个属性的getter()和setter()方法。

实体层,用于存放实体类,与数据库中的属性值基本保持一致,实现setter()和getter()方法。

view层

功能:此层与Controller层联系紧密,需要协同开发。view层主要负责前台jsp页面的表示。

注:Dao层,Service层这两个层都可以单独开发,互相的耦合度很低,完全可以独立进行,这样的一种模式在开发大项目的过程中尤其有优势。

Controller,View层因为耦合度比较高,因而要结合在一起开发,但是也可以看作一个整体独立于前两个层进行开发。这样,在层与层之前我们只需要知道接口的定义,调用接口即可完成所需要的逻辑单元应用,一切显得非常清晰简单。

本文作者:Zoul's blog