没写原理,只写最所见所得。
由所见至最底层
1.controller
直译过来就是控制器的意思,也叫控制器层
详细解释:
对于前端发送来的请求,进行相应处理。比如增删改查数据,返回给前端数据或者指示。
若是前后端分离来说的话,后端可以将数据封装成json数据
controller怎么对这些请求做出反应的,接下来就去业务逻辑层找方法。
2.service
业务逻辑层
详细解释
一般推荐面向接口的编程,也就是说有service接口,还有impl执行方法。
service接口中写该请求该如何执行的接口。
impl中写的就是service接口执行方法具体逻辑
勉强解释
呃,啥也没说。
就比如你要增加这个用户,从controller接受到了请求,而service就已经封装好了增加用户的方法
那么这已经做了mapper(dao)层做的事情,那么为什么还要呢?
其实也好解释若是需要多个方法,那该怎么办啊。
好吧,又没解释好。
也看见网上有人这样解释
service接口就是对impl和mapper(dao)接口的整合
3.dao层
又叫做mapper层,数据持久层。因为mybatis逆向工程就叫做mapper,也就是dao
详细解释
封装数据库执行方法,提供增删改查。因为mybatis,就不需要写impl了
4.bean层
又叫做model层,这名字是根据springMVC来的,MVC就是model view controller
而bean层又分为entity、vo、dto
entity是对数据库的书写,完全按照数据库的字段书写
vo是后端要返回给前端的数据,有的时候可能需要用到两个或以上的表
dto前端返回给后端的数据,比如创建用户时,前端只传用户名和密码,而用户表有更多字段。
后端就是返回一堆的api,对于前端的请求,返回该做出的事情。
倒过来也是一样的。