- 作者简介
- 内容提要
- 关于本书
- 路线图
- 代码规范与下载
- 作者在线
- 封面插图简介
- 前言
- 译者序
- 致谢
- 第1部分 Spring 的核心
- 第1章 Spring 之旅
- 第2章 装配 Bean
- 第3章 高级装配
- 第4章 面向切面的 Spring
- 第2部分 Web 中的 Spring
- 第5章 构建 Spring Web 应用程序
- 第6章 渲染 Web 视图
- 第7章 Spring MVC 的高级技术
- 第8章 使用 Spring Web Flow
- 第9章 保护 Web 应用
- 第3部分 后端中的 Spring
- 第10章 通过 Spring 和 JDBC 征服数据库
- 第11章 使用对象-关系映射持久化数据
- 第12章 使用 NoSQL 数据库
- 第13章 缓存数据
- 第14章 保护方法应用
- 第4部分 Spring 集成
- 第15章 使用远程服务
- 第16章 使用 Spring MVC 创建 REST API
- 第17章 Spring消息
- 第18章 使用 WebSocket 和 STOMP 实现消息功能
- 第19章 使用 Spring 发送 Email
- 第20章 使用 JMX 管理 Spring Bean
- 第21章 借助 Spring Boot 简化 Spring 开发
21.2.1 处理请求
因为我们要使用Spring MVC来开发应用的Web层,因此需要将Spring MVC作为依赖添加到构建中。我们已经讨论过,Spring Boot的Web Starter能够将Spring MVC需要的所有内容一站式添加到构建中。如下是我们所需的Gradle依赖:
如果使用Maven来进行构建的话,那么依赖将会如下所示;
注意,因为Spring Boot parent项目已经指定了Web Starter依赖的版本,因此在项目的build.gradle和pom.xml文件中没有必要再显式指定版本信息。
Web Starter依赖就绪之后,使用Spring MVC需要的所有依赖都会添加到项目中。现在,我们就可以编写应用所需的控制器类了。
控制器相对会非常简单,包含展现联系人表单的HTTP GET请求以及处理表单提交的POST请求。它本身并没有做太多的事情,而是委托ContactRepository(稍后就会创建它)来持久化联系人信息。程序清单21.3中的ContactController就能满足这些需求。
程序清单21.3 ContactController为Contacts应用处理基本的Web请求
你首先可能会发现ContactController就是一个典型的Spring MVC控制器。尽管Spring Boot会管理构建依赖并最小化Spring配置,但是在编写应用逻辑的时候,编程模型是一致的。
在本例中,ContactController遵循了Spring MVC控制器的典型模式,它会展现表单并处理表单的提交。其中home()方法使用注入的ContactRepository来获取所有Contact对象的列表,并将它们放到模型中,然后把请求转交给home视图。这个视图将会展现联系人的列表以及添加新Contact的表单。submit()方法将会处理表单提交的POST请求,保存Contact,并重定向到首页。
因为ContactController使用了@Controller注解,所以组件扫描将会找到它。因此,我们不需要在Spring应用上下文中明确将其声明为bean。
而Contact模型类是一个简单的POJO,具有一些属性和存取器方法,如下面的程序清单所示。
程序清单21.4 Contact是一个简单的领域类型
应用程序的Web层基本上已经完成了,剩下的就是创建定义home视图的Thymeleaf模板。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论