Back to Javatutorial

SpringMVC整体源码结构总结

docs/Spring全家桶/SpringMVC源码分析/SpringMVC整体源码结构总结.md

1.0.01.8 KB
Original Source

1. servlet 3.0 淶

ϵһʼȽ servlet3.0 淶ͨù淶ʵ web Ŀ 0xml .

  • servlet3.0 淶Уservlet ͨ SPI ṩһӿڣServletContainerInitializer
  • spring ʵ˸ýӿڣʵ SpringServletContainerInitializer onStartup(...) Уִʵ WebApplicationInitializer ӿڵ onStartup(...) ֻҪʵ WebApplicationInitializer ӿڼɣ
  • ʵ WebApplicationInitializer ӿڵУ onStartup(...) servlet ֶעһ servletDispatcherServlet servlet л spring

̾

2. webMvc ķʽ

Ƿ webMvc ַʽ

1. @EnableWebMvc

ַʽܼ򵥣ֻҪ

// ʹ@EnableWebMvcעmvc
@Component
@EnableWebMvc
public class MvcConfig {
    ...
}

Ҫ webMvc һЩʱҪʵ WebMvcConfigurer:

// ʵ WebMvcConfigurerԶ
@Component
public class MyWebMvcConfigurer implements WebMvcConfigurer {

    // дWebMvcConfigurerԶ
}

2. ʵ WebMvcConfigurationSupport

һַʽ webMvc ʽʵ WebMvcConfigurationSupport

@Component
public class MyWebMvcConfigurationSupport extends WebMvcConfigurationSupport {
    // д÷Զ
    ...

   /**
    * 磬ӿãֱд addCorsMappings 
    */
    @Override
    public void addCorsMappings(CorsRegistry registry) {
        // Լ
        ...
    }

}

ҪעǣʹַʽҪԶʱͲȥʵ WebMvcConfigurer ӿˣӦֱд WebMvcConfigurationSupport еӦд addCorsMappings().

3.

һͼ̣ܽ

4.

Ҳһͼ̣ܽ


ԭӣhttps://my.oschina.net/funcy/blog/4773418 ߸ˮƽд֮ӭָԭףҵתϵ߻Ȩҵתע