// Path: jbase-spring/src/main/java/com/jayqqaa12/jbase/spring/boot/config/MvcConfig.java
// @Configuration
// public class MvcConfig implements WebMvcConfigurer {
// 
//   //fastjson 出现不兼容的情况 改用 jackson
// //    @Bean
// //    public FastJsonHttpMessageConverter fastJsonHttpMessageConverters() {
// //
// //        return new FastJsonConverter();
// //    }
// //    @Override
// //    public void extendMessageConverters(List<HttpMessageConverter<?>> converters) {
// //
// //        converters.removeIf(httpMessageConverter -> httpMessageConverter instanceof MappingJackson2HttpMessageConverter);
// //
// //        converters.add(fastJsonHttpMessageConverters());
// //    }
// 
// 
//   @Bean
//   public CustomExceptionHandler customExceptionHandler() {
//     return new CustomExceptionHandler();
//   }
// 
//   @Bean
//   public GlobalExceptionHandler globalExceptionHandler() {
//     return new GlobalExceptionHandler();
//   }
// 
// 
//   @Bean
//   public LocaleResolver localeResolver() {
//     CookieLocaleResolver resolver = new CookieLocaleResolver();
//     resolver.setDefaultLocale(Locale.SIMPLIFIED_CHINESE);
//     resolver.setCookieName("language");
//     resolver.setCookieMaxAge(3600);
//     return resolver;
//   }
// 
//   @Bean
//   public LocaleChangeInterceptor localeChangeInterceptor() {
//     LocaleChangeInterceptor interceptor = new LocaleChangeInterceptor();
//     interceptor.setParamName("lang");
//     return interceptor;
//   }
// 
// 
//   @Bean
//   public HeaderLocaleChangeInterceptor headerLocaleChangeInterceptor() {
//     return new HeaderLocaleChangeInterceptor();
//   }
// 
//   @Bean
//   public LocaleKit localeKit(MessageSource messageSource,
//       @Value("${config.lang:zh_CN}") Locale locale) {
// 
//     LocaleKit kit = LocaleKit.of(messageSource);
//     LocaleKit.setDefaultLocale(locale);
//     return kit;
//   }
// 
// 
//   @Bean
//   public FilterRegistrationBean hiddenHttpMethodFilter() {
//     FilterRegistrationBean registration = new FilterRegistrationBean(new HiddenHttpMethodFilter());
//     registration.addUrlPatterns("/");
//     return registration;
//   }
// 
// 
//   public void addArgumentResolvers(List<HandlerMethodArgumentResolver> argumentResolvers) {
//     argumentResolvers.add(new PageableHandlerMethodArgumentResolver());
//   }
// 
// //    @Bean
// //    public HttpPutFormContentFilter putFilter() {
// //        return new HttpPutFormContentFilter();
// //    }
// 
// //    @Override
// //    public void addCorsMappings(CorsRegistry registry) {
// //        registry.addMapping("/**").allowedOrigins("*")
// //                .allowedMethods("GET", "HEAD", "POST", "PUT", "DELETE", "OPTIONS")
// //                .allowCredentials(false).maxAge(3600);
// //    }
// 
// 
//   @Override
//   public void addInterceptors(InterceptorRegistry registry) {
//     //以后改为权限控制 由api-gateway控制
// //        registry.addInterceptor(new AuthInterceptor()).addPathPatterns("/**");
//     registry.addInterceptor(localeChangeInterceptor()).addPathPatterns("/**");
//     registry.addInterceptor(headerLocaleChangeInterceptor()).addPathPatterns("/**");
// 
//   }
// 
// 
// }


import com.jayqqaa12.jbase.spring.boot.config.MvcConfig;
import org.springframework.context.annotation.Import;
import java.lang.annotation.*;
package com.jayqqaa12.jbase.spring.boot;




@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Import({
// Path: jbase-spring/src/main/java/com/jayqqaa12/jbase/spring/boot/config/MvcConfig.java
// @Configuration
// public class MvcConfig implements WebMvcConfigurer {
// 
//   //fastjson 出现不兼容的情况 改用 jackson
// //    @Bean
// //    public FastJsonHttpMessageConverter fastJsonHttpMessageConverters() {
// //
// //        return new FastJsonConverter();
// //    }
// //    @Override
// //    public void extendMessageConverters(List<HttpMessageConverter<?>> converters) {
// //
// //        converters.removeIf(httpMessageConverter -> httpMessageConverter instanceof MappingJackson2HttpMessageConverter);
// //
// //        converters.add(fastJsonHttpMessageConverters());
// //    }
// 
// 
//   @Bean
//   public CustomExceptionHandler customExceptionHandler() {
//     return new CustomExceptionHandler();
//   }
// 
//   @Bean
//   public GlobalExceptionHandler globalExceptionHandler() {
//     return new GlobalExceptionHandler();
//   }
// 
// 
//   @Bean
//   public LocaleResolver localeResolver() {
//     CookieLocaleResolver resolver = new CookieLocaleResolver();
//     resolver.setDefaultLocale(Locale.SIMPLIFIED_CHINESE);
//     resolver.setCookieName("language");
//     resolver.setCookieMaxAge(3600);
//     return resolver;
//   }
// 
//   @Bean
//   public LocaleChangeInterceptor localeChangeInterceptor() {
//     LocaleChangeInterceptor interceptor = new LocaleChangeInterceptor();
//     interceptor.setParamName("lang");
//     return interceptor;
//   }
// 
// 
//   @Bean
//   public HeaderLocaleChangeInterceptor headerLocaleChangeInterceptor() {
//     return new HeaderLocaleChangeInterceptor();
//   }
// 
//   @Bean
//   public LocaleKit localeKit(MessageSource messageSource,
//       @Value("${config.lang:zh_CN}") Locale locale) {
// 
//     LocaleKit kit = LocaleKit.of(messageSource);
//     LocaleKit.setDefaultLocale(locale);
//     return kit;
//   }
// 
// 
//   @Bean
//   public FilterRegistrationBean hiddenHttpMethodFilter() {
//     FilterRegistrationBean registration = new FilterRegistrationBean(new HiddenHttpMethodFilter());
//     registration.addUrlPatterns("/");
//     return registration;
//   }
// 
// 
//   public void addArgumentResolvers(List<HandlerMethodArgumentResolver> argumentResolvers) {
//     argumentResolvers.add(new PageableHandlerMethodArgumentResolver());
//   }
// 
// //    @Bean
// //    public HttpPutFormContentFilter putFilter() {
// //        return new HttpPutFormContentFilter();
// //    }
// 
// //    @Override
// //    public void addCorsMappings(CorsRegistry registry) {
// //        registry.addMapping("/**").allowedOrigins("*")
// //                .allowedMethods("GET", "HEAD", "POST", "PUT", "DELETE", "OPTIONS")
// //                .allowCredentials(false).maxAge(3600);
// //    }
// 
// 
//   @Override
//   public void addInterceptors(InterceptorRegistry registry) {
//     //以后改为权限控制 由api-gateway控制
// //        registry.addInterceptor(new AuthInterceptor()).addPathPatterns("/**");
//     registry.addInterceptor(localeChangeInterceptor()).addPathPatterns("/**");
//     registry.addInterceptor(headerLocaleChangeInterceptor()).addPathPatterns("/**");
// 
//   }
// 
// 
// }


// Path: jbase-spring/src/main/java/com/jayqqaa12/jbase/spring/boot/EnableWeb.java
import com.jayqqaa12.jbase.spring.boot.config.MvcConfig;
import org.springframework.context.annotation.Import;
import java.lang.annotation.*;

package com.jayqqaa12.jbase.spring.boot;




@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Import({
        MvcConfig.class,