Spring MVC初学
MVC概述
Model1
在早期的Java Web开发中,统一把显示层、控制层、数据层的操作交给JavaBean 或者 JSP来处理,即所谓的Model1:
不足点:
- JSP和Java Bean 之间耦合度高,Java代码和Html代码耦合在一起;
- 开发过程中不仅仅涉及后端java开发,也涉及前端知识;
- 代码复用层度低;
Model2
为了解决model1的弊端,model2采用了 Servlet + JSP + Java Bean 的模式,下图为早期MVC(Model2):
- 用户请求先到达servlet,然后根据请求调用相应的Java Bean, 并把所有的显示结果交给JSP去完成,这样的模式我们称为MVC模式。
- M 代表 模型(Model)
模型就是数据,就是dao、bean。 - V代表视图(View)
视图是网页,JSP,用来展示模型中的数据 - C 代表 控制器(controller)
控制器的作用就是把不同的数据(Model),显示在不同的视图(View)上,servlet扮演控制器。
Spring MVC
为了解决持久层中一直未处理好的数据库事务的编程,为了迎合NoSQL的强势崛起,Spring MVC给出了方案:
- 传统的模型层被拆分成业务层(service)和数据访问层(DTO,Data Access Object)。在service下可以通过Spring声明式事务操作数据访问层,而在业务上还允许我们访问NoSQL,这样提高了互联网的访问性能。
- 特点:
- 结构松散,可以兼容各种视图;
- 松耦合,各个模块分离
- 与 Spring 无缝集成
Hello Spring MVC
让我们来写一下我们的第一个 Spring MVC 程序:
在 IDEA 中新建 Spring MVC 项目
#### 项目取名为HelloSpringMVC![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/9a7e433116d7710db65a3fe8e7b81f86.png)
接着next就可以生成项目;
lombok
为了避免写冗长的get和set方法,通过lombook来实现
IntelliJ安装Lombok
- 通过IntelliJ的插件中心安装
- Install Plugin
- 最后需要注意的是,在使用lombok注解的时候记得要导入lombok.jar包到工程,如果使用的是Maven Project,要在pom.xml中添加依赖
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.16.8</version>
</dependency>
例如:
写一个controller层
用一个模型接受入参
运行程序