web开发过程中分为如下层:
- Dao层
- Entity层
- Service层
- Controller层
- view层
- VO层
xxx:代表公司名称
yyy:代表项目名称
com.xxx.yyy.dao
d
a
o
层接口
~~~~~~~~~~~~~~~~~~~~~~~~~~ dao层接口
dao层接口
com.xxx.yyy.dao.impl
d
a
o
层实现
~~~~~~~~~~~~~~~~~~~dao层实现
dao层实现
com.xxx.yyy.service
s
e
r
v
i
c
e
层接口
~~~~~~~~~~~~~~~~~~~~service层接口
service层接口
com.xxx.yyy.service.impl
s
e
r
v
i
c
e
层实现
~~~~~~~~~~~~~~service层实现
service层实现
com.xxx.yyy.web
w
e
b
层
~~~~~~~~~~~~~~~~~~~~~~~~web层
web层
com.xxx.yyy.util
工具包
~~~~~~~~~~~~~~~~~~~~~~~~~工具包
工具包
com.xxx.yyy.domain
j
a
v
a
b
e
a
n
~~~~~~~~~~~~~~~~~~javabean
javabean
1. Dao层(持久层,数据访问层)
功能:①只负责与数据库的数据进行交互,dao层是在Mybatis框架下通过@MyBatisDao连接后台代码与数据库的。@Repository用于标注数据访问组件Dao层。
②DAO层首先会创建DAO接口,然后会在配置文件中定义该接口的实现类,接着就可以在模块中就可以调用DAO的接口进行数据业务的而处理
③Dao层用来访问数据库实现数据的持久化(把内存中的数据永久保存到硬盘中)。
总结: Dao层用于定义方法接口,然后在service层和serviceimpl层实现接口的方法,从而达到操作数据库的目的。对数据库进行持久化操作,方法语句主要使针对数据库的,主要实现一些增删改查操作,在Mybatis中的方法主要与xx.xml内相互一一映射。
UserDao.java代码
可见,Dao文件李只是定义接口,并标注上注解@Repository
2.Controller层(控制层,action层)
功能:控制业务逻辑
Controller层负责具体的业务模块流程的控制,controller层主要调用Service层里面的接口控制具体的业务流程,控制的配置也需要在配置文件中进行。
Action是管理业务(Service)调度和管理跳转的。
Service是管理具体的功能的。
Action只负责管理,而Service负责实施。
3.Service层(业务层,biz)
功能:Service层用于实现操作的具体方法,包含了对页面操作模块的代码。
Service用于存放业务逻辑处理,不直接和数据库打交道,为controller层提供方法接口,Service层不仅有接口也有接口的实现方法,接口的实现方法在impl文件里。
4.Entity层(实体层,domain层)
功能:entity层用于定义实体,定义各个属性以及各个属性的getter()和setter()方法
实体层: 用于存放实体类,与数据库中的属性基本保持一致,实现setter()和getter()方法。
5.view层
功能:此层与Controller层联系紧密,需要协同开发。view层主要负责前台jsp页面的表示。
注:Dao层,Service层这两个层都可以单独开发,互相的耦合度很低,完全可以独立进行,这样的一种模式在开发大项目过程中尤其有优势
Controller, View层因为耦合度比较高,因而要结合在一起开发,但是也可以看作一个整体独立于前两个层进行开发。这样,在层与层之间我们只需要知道接口的定义,调用接口即可完成所需要的逻辑单元应用,一切显得非常清晰简单。
6. Vo层
VO层存在的意义,通俗的讲,VO层的存在就是方便前端获取数据,后端将前端的需要的数据做一个整合,打包成一个类