在目前的Java开发中,可以说Spring MVC是最主流的Web前端框架了。那么面试的时候基本都有一个问题,MVC和三层架构之间有什么关系呢?

MVC:(Model+View+Controller)(数据模型+视图+控制器)
三层架构:(Presentation tier+Application tier+Date tier)(展现层+应用层+数据访问层)
很多人都有一个误解,认为Spring MVC的mvc对应三层架构,其实是不对的
,mvc只是三层架构的展现层,mvc中的M是数据模型,是包含数据的对象,通常我们使用Spring
MVC的时候有一个包叫Model,里面放的类就是用来和V交互的,V就是视图界面,包括jsp,html,freemarker,velocity,thymeleaf等,C就是控制器了(通常用@Controller注解的类)。

而整个三层架构,其实是由Spring负责全局管理的,一般Service和Dao跟应用层和数据访问层有关。