对spring boot 之AutoConfiguration 的理解

时间:2023-01-29 07:52:34

来自:http://rensanning.iteye.com/blog/2363467

https://blog.csdn.net/tincox/article/details/79186067

AutoConfiguration 大部分是通过继承或者实现类 上面加相应的 @Configuration

Configuration spring boot 启动会初始化这些加入了@configuration的类

以下有的AutoConfiguration :

DispatcherServletAutoConfiguration 注册DispatcherServlet 
EmbeddedServletContainerAutoConfiguration.EmbeddedTomcat 注册Tomcat容器 
ErrorMvcAutoConfiguration 注册异常处理器 
HttpEncodingAutoConfiguration 注册编码过滤器CharacterEncodingFilter 
HttpMessageConvertersAutoConfiguration 注册json或者xml处理器 
JacksonAutoConfiguration 注册json对象解析器 
MultipartAutoConfiguration 注册文件传输处理器 
TransactionAutoConfiguration 注册事物管理处理器 
ValidationAutoConfiguration 注册数据校验处理器 
WebMvcAutoConfiguration 注册SpringMvc相关处理器

---------------------------------------------------------

关于一些WebMvconfigurerAdapter的理解:

@configuration

public class Applicationconfig extends WebMvcConfigurerAdapter implements EnvironmentAwatre{}

-------------->

public abstract class WebMvcConfigurerAdapter implements WebMvcConfigurer {}

---------------->

public interface WebMvcConfigurer {}

  • 以下WebMvcConfigurerAdapter 比较常用的重写接口

** 解决跨域问题 **/
public void addCorsMappings(CorsRegistry registry) ;
/** 添加拦截器 **/
void addInterceptors(InterceptorRegistry registry);
/** 这里配置视图解析器 **/
void configureViewResolvers(ViewResolverRegistry registry);
/** 配置内容裁决的一些选项 **/
void configureContentNegotiation(ContentNegotiationConfigurer configurer);
/** 视图跳转控制器 **/
void addViewControllers(ViewControllerRegistry registry);
/** 静态资源处理 **/
void addResourceHandlers(ResourceHandlerRegistry registry);
/** 默认静态资源处理器 **/
void configureDefaultServletHandling(DefaultServletHandlerConfigurer configurer);
---------------------------------------------------------------------------

spring-boot 加入拦截器Interceptor
http://lihao312.iteye.com/blog/2078139