Flux和Mono都实现了Reactor的Publisher接口,Flux和Mono属于事件发布者,类似与生产者,对消费者提供订阅接口,当有事件发生的时候,Flux或者Mono会通过回调消费者的相应的方法来通知消费者相应的事件
上文咱们说到Spring 5的框架示意,其中包括@Controller、@RequesuMapping 、spring-webmvc、路由函数以及spring-webflux等。
使用@Controller注解用于标记该类为控制器,控制器Controller负责处理由DispatcherServlet分发的请求。@RequestMapping和@RequestParam等一些注解用以定义URL 请求和Controller方法之间的映射,这样Controller便可以就能被外界访问到。1.定义Controller类。Controller返回类型包括ModelAndView、String及void。其中ModelAndView实例生成时需要View或Model参数,其中View是必须要有的,可通过View名称或实例化的View来体现。返回String类型则可以用于表示逻辑视图名、重定向及转发。返回为void则通过控制器的形参中的request及response来实现相应的转发、重定向及响应。2.在SpringMVC的配置文件中定义控制类的bean对象,SpringMVC的配置文件是在web.xml中定义的。如
使用@RequestMapping注解可以将请求URL映射到整个类上或某个特定的方法上
Spring Web MVC 框架是围绕DispatcherServlet设计的,DispatcherServlet用来处理所有的 HTTP 请求和响应。 org.springframework.web.servlet.DispatcherServlet 通过使用在web.xml文件中的一个 URL 映射需要DispatcherServlet处理的请求。web.xml在应用程的WebContent/WEB-INF目录下。
Router Functions是Spring 5新引入的一套Reactive风格(基于Flux和Mono)的函数式接口.使用Router Functions实现响应式编程应用时需要自己创建和管理容器 。除此之外需要通过RouterFunction的API(而不是注解)来配置路由表和过滤器。由Function>)路由到HandlerFunction中去。当满足条件匹配时,路由方法会执行处理方法,否则会返回一个空结果。Spring webflux 是一个新的非堵塞函数式 Reactive Web 框架,可以用来建立异步的,非阻塞,事件驱动的服务,使得其扩展能力及处理能力得到加强。
领取专属 10元无门槛券
私享最新 技术干货