你通常通过 MVC 配置 在基于 DispatcherHandler 的设置中运行路由器功能,该配置使用 Spring 配置来声明处理请求所需的组件。MVC Java 配置声明了以下基础设施组件以支持功能端点:
RouterFunctionMapping:检测 Spring 配置中的一个或多个
RouterFunction<?>bean ,对它们进行排序,通过RouterFunction.andOther将它们结合起来,并将请求路由到所组成的 RouterFunction。HandlerFunctionAdapter:简单的适配器,让 DispatcherHandler 调用被映射到请求的 HandlerFunction。
前面的组件让功能端点适合于 DispatcherServlet 的请求处理生命周期,也(有可能)与注解的控制器并排运行,如果有任何声明。这也是 Spring Boot Web 启动器启用功能端点的方式。
下面的例子显示了一个 WebFlux Java 配置:
@Configuration@EnableMvcpublic class WebConfig implements WebMvcConfigurer {@Beanpublic RouterFunction<?> routerFunctionA() {// ...}@Beanpublic RouterFunction<?> routerFunctionB() {// ...}// ...@Overridepublic void configureMessageConverters(List<HttpMessageConverter<?>> converters) {// configure message conversion...}@Overridepublic void addCorsMappings(CorsRegistry registry) {// configure CORS...}@Overridepublic void configureViewResolvers(ViewResolverRegistry registry) {// configure view resolution for HTML rendering...}}
