说到Spring MVC,不得不先来谈谈什么是MVC,它和三层架构是什么关系。可能很多读者都会抢答:
MVC: Model + View +Controller(数据模型 + 视图 + 控制器)
三层架构:Presentation tier + Application tier + Data tier(展现层 + 应用层 + 数据访问层)。
那MVC和三层架构有什么关系呢?MVC的M就是数据访问层、V就是展现层、C就是应用层。
但是实际上MVC只存在三层架构的展现层,M实际上是数据模型,是包含数据的对象。在Spring MVC里,有一个专门的类叫Model,用来和V之间的数据交互、传值;V只的是视图页面,包含JSP、freeMarker、Velocity、Thymeleaf、Tile等;C当然就是控制器(Spring MVC的注解@Controller的类)。
而三层架构是整个应用的构架,是由Spring框架负责管理的。一般项目结构中都有Service层、dao层,这两个反馈在应用层和数据访问层。
弄清MVC和三层架构的关系对我们理解Spring MVC和进行Web开发至关重要。
Spring MVC使我们可以简单地开发灵活且松耦合的Web项目。
注:此内容来自《Java EE开发的颠覆者Spring Boot实战》一书,作者:汪云飞