Controller(控制层):后台总控制器,接收所有前台传过来的请求,再把它分配到它需要调的service里,相当于前后台的入口(Controller可以有多个,比如可以有10个不频繁访问的服务,可以用一个Controller来控制,另外两个访问频繁的用另一个Controller控制,分开均衡一点)
Services(业务层)【应用层】:所有的逻辑在Services里,逻辑,算法,都是由Services构成的(可以理解成Services里面写核心算法,比如if,else,通过JAVA来实现逻辑的变化,数据的变化)一个按钮对应一个service,所有请求先到controller里面,然后再去找它要哪个服务,再创建一个对应的实例。(简单的项目也可以不用控制器,直接前台调services,但一般都会有一个控制器来管理一下服务的请求)
Dao(持久层):接口(应用层和数据层的接口),只定义对象,不定义具体的内容,之所以有Dao,是为了让Services可以直接用里面定义好的东西,没有Dao的话是调不到的,相当于是在Services里调的是一个接口,Spring运行的时候Spring和Mybatis实时在里面生成方法,实际生成的方法在jar包里面。每添加一个方法,一个SQL,要在Dao里添加一个接口的定义。通过Dao找Mapper文件下的同名的SQL语句,一个Dao对应一个Mapper
Mapper【数据层】:写在xml文件里,里面写对应的SQL语句,实现在数据库中怎么查找。所有的xml都是配置文件,给程序去读取的
Model:保存着与数据库表所对应的结构体,作用是方便用表的结构体,增加Mapper的易用性,把所有SQL字段变成变量放在里面,根据表结构自动生成


MVC的设计模式。model层就是实体类,对应数据库的表。controller层是Servlet,主要是负责业务模块流程的控制,调用service接口的方法,在struts2就是Action。Service层主要做逻辑判断,Dao层是数据访问层,与数据库进行对接。至于这个Mapper是mybtis框架的映射用到,mapper映射文件在dao层用。


Java Web中的mapper,service,controller,model作用分别是:
java web中mapper是对象持久化映射层,一般会继承ibatis或者mybatis
servive是一些业务逻辑的处理层
controller是控制层,相当于mvc的c层
model是数据模型层相当于mvc的m层

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐