返回介绍

21.2.1 处理请求

发布于 2024-08-17 00:45:49 字数 1653 浏览 0 评论 0 收藏 0

因为我们要使用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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文