日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

WebMvcConfigurer

發(fā)布時間:2024/9/19 c/c++ 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 WebMvcConfigurer 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

WebMvcConfigurer

@Configuration + WebMvcConfigurer接口

在spring中我們可以通過用java代碼配置bean,不使用xml寫bean,改成使用java代碼來實現(xiàn)javabean的配置。如下:

@Configuration //定義是spring的bean配置類 @ComponentScan("com.ex.test") //掃描包 @Import(other.class) //導入config public class beanconfig{@Beanpublic User user(){return new User();} }

而WebMvcConfigurer配置類其實是Spring內(nèi)部的一種配置方式,可以自定義一些Handler,Interceptor,ViewResolver,MessageConverter等等的東西對springmvc框架進行配置。如下:

@Configuration //定義是spring的bean配置類 public class Mymvcconfig implements WebMvcConfigurer{@Overridepublic void addInterceptors(InterceptorRegistry registry) {registry.addInterceptor(new MyInterceptor()).addPathPatterns("/**").excludePathPatterns("/emp/toLogin","/emp/login","/js/**","/css/**","/images/**");} }

WebMvcConfigurer接口

public interface WebMvcConfigurer {void configurePathMatch(PathMatchConfigurer var1);void configureContentNegotiation(ContentNegotiationConfigurer var1);void configureAsyncSupport(AsyncSupportConfigurer var1);void configureDefaultServletHandling(DefaultServletHandlerConfigurer var1);void addFormatters(FormatterRegistry var1);void addInterceptors(InterceptorRegistry var1);void addResourceHandlers(ResourceHandlerRegistry var1);void addCorsMappings(CorsRegistry var1);void addViewControllers(ViewControllerRegistry var1);void configureViewResolvers(ViewResolverRegistry var1);void addArgumentResolvers(List<HandlerMethodArgumentResolver> var1);void addReturnValueHandlers(List<HandlerMethodReturnValueHandler> var1);void configureMessageConverters(List<HttpMessageConverter<?>> var1);void extendMessageConverters(List<HttpMessageConverter<?>> var1);void configureHandlerExceptionResolvers(List<HandlerExceptionResolver> var1);void extendHandlerExceptionResolvers(List<HandlerExceptionResolver> var1);Validator getValidator();MessageCodesResolver getMessageCodesResolver(); }

addViewControllers添加一個視圖解析器

通過實現(xiàn)addViewControllers向mvc添加一個視圖解析器(添加一個頁面跳轉(zhuǎn))

@Configuration //定義是spring的bean配置類 public class Mymvcconfig implements WebMvcConfigurer{@Overridepublic void addViewControllers(ViewControllerRegistry registry) {registry.addViewController("/toLogin").setViewName("login");} }

@EnableWebMvc

@EnableWebMvc是使用Java 注解快捷配置Spring Webmvc的一個注解。在EnableWebMvc導入了一個DelegatingWebMvcConfiguration類,而DelegatingWebMvcConfiguration繼承了WebMvcConfigurationSupport。

而WebMvcAutoConfiguration類的注解@ConditionalOnMissingBean({WebMvcConfigurationSupport.class}),定義了WebMvcAutoConfiguration只有沒有WebMvcConfigurationSupport.class時WebMvcAutoConfiguration才生效,所以有以下結(jié)論:

@EnableWebMvc注解的配置類將會全面接管MVC的配置。

@Retention(RetentionPolicy.RUNTIME) @Target({ElementType.TYPE}) @Documented @Import({DelegatingWebMvcConfiguration.class}) public @interface EnableWebMvc { }//-----------------DelegatingWebMvcConfiguration----------------- public class DelegatingWebMvcConfiguration extends WebMvcConfigurationSupport {private final WebMvcConfigurerComposite configurers = new WebMvcConfigurerComposite();public DelegatingWebMvcConfiguration() {}.....//-----------------WebMvcAutoConfiguration----------------- @ConditionalOnClass({Servlet.class, DispatcherServlet.class, WebMvcConfigurer.class}) @ConditionalOnMissingBean({WebMvcConfigurationSupport.class}) @AutoConfigureOrder(-2147483638) @AutoConfigureAfter({DispatcherServletAutoConfiguration.class, TaskExecutionAutoConfiguration.class, ValidationAutoConfiguration.class}) public class WebMvcAutoConfiguration {public static final String DEFAULT_PREFIX = "";public static final String DEFAULT_SUFFIX = "";private static final String[] SERVLET_LOCATIONS = new String[]{"/"};public WebMvcAutoConfiguration() {}......

總結(jié)

以上是生活随笔為你收集整理的WebMvcConfigurer的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。