spring总结(四)-Spring MVC

一、Spring MVC起步
  • 官方图解
    在这里插入图片描述
1.1、步骤
  • 1、第一站会是Spring的DispatcherServlet(前端控制器),单实例,将请求委托给应用程序的其他组件来执行实际的处理。
  • 3、DispatcherServlet的任务是将请求发送给Spring MVC控制器(controller),控制器是一个用于处理请求的spring组件,一般会有多个控制器。
  • 2、为了判断将请求发送给哪个控制器,所以DispatcherServlet会查询一个或多个处理映射(handler mapping)来确定请求的下一站是哪里。处理映射器会根据请求的url来进行决策,一旦决策下定,DispatcherServlet会将请求发送给指定的控制器
  • 4、控制器处理的内容:
    • (1)、到了控制器,请求会卸下所有的负载(用户提交的信息)并耐心等待控制器处理这些信息。(实际上,良好的控制器本身不做业务处理,一般是将业务逻辑委托给一个或者多个service进行处理)
    • (2)、控制器处理完逻辑,将返回信息返回浏览器展示,返回信息是(model)。为了让浏览器友好展示,这些返回信息需要进行一些处理,发送给一个视图(view),一般会是jsp(jsp、thymeleaf包括freemarker都属于前端的模板引擎,都是为了渲染加载界面。)进行处理,返回一个视图名(这样的好处是控制器不会与指定的视图进行耦合,去视图解析器根据视图名查找出真正的视图)。
    • (3)、将模型数据打包,标识出用于渲染输出的视图名,一同返回给前端控制器DispatcherServlet
  • 5、DispatcherServlet会使用视图解析器(view resolver)来将逻辑视图名匹配一个特定的视图实现
  • 6、知晓是哪个视图的实现,交付给模型数据,视图将使用模型数据进行渲染输出。
二、实战
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
`feign-spring-mvc-starter` 是一个 Feign 的扩展,它支持使用 Spring MVC 注解来定义和调用 REST 服务。使用 `feign-spring-mvc-starter`,你可以像使用 Spring MVC 控制器一样定义 Feign 客户端,从而更方便地进行 REST 服务的开发。 在使用 `feign-spring-mvc-starter` 之前,你需要先了解 Feign 和 Spring MVC 的基本概念和用法。 Feign 是一个声明式的 Web 服务客户端,它可以帮助你更方便地定义和调用 REST 服务。Feign 的基本使用方法是定义一个接口,用于描述 REST 服务的 API,然后使用 Feign 注解来声明这个接口。 Spring MVC 是一个基于 Java 的 Web 框架,它提供了一组注解和 API,用于处理 Web 请求和响应。 `feign-spring-mvc-starter` 将 Feign 和 Spring MVC 结合起来,使你可以使用 Spring MVC 注解来定义和调用 REST 服务。使用 `feign-spring-mvc-starter`,你可以更方便地使用 Feign 来调用 REST 服务。 以下是一个使用 `feign-spring-mvc-starter` 的示例: 1. 添加 Maven 依赖 在 pom.xml 文件中添加以下依赖项: ```xml <dependency> <groupId>io.github.openfeign</groupId> <artifactId>feign-spring-mvc</artifactId> <version>5.3.1</version> </dependency> ``` 2. 定义 Feign 接口 定义一个 Feign 接口,用于描述 REST 服务的 API。例如: ```java @FeignClient(name = "example-service") public interface ExampleClient { @GetMapping("/example") String getExample(); } ``` 在这个接口中,我们使用了 `@FeignClient` 注解来声明这个接口是一个 Feign 客户端,并指定了服务的名称。然后,我们定义了一个 `getExample()` 方法,用于调用 example-service 服务的 /example 路径。 3. 定义 Spring MVC 控制器 定义一个 Spring MVC 控制器,用于处理来自客户端的请求。例如: ```java @RestController public class ExampleController { private final ExampleClient exampleClient; public ExampleController(ExampleClient exampleClient) { this.exampleClient = exampleClient; } @GetMapping("/") public String index() { return exampleClient.getExample(); } } ``` 在这个控制器中,我们注入了 `ExampleClient`,并在 `index()` 方法中使用它来调用 example-service 服务的 /example 路径。 4. 运行应用程序 现在,你可以运行应用程序并访问 http://localhost:8080/ ,你应该会看到来自 example-service 服务的响应。 这就是一个使用 `feign-spring-mvc-starter` 的示例。使用 `feign-spring-mvc-starter`,你可以更方便地使用 Feign 来调用 REST 服务。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值