Spring MVC(二) 配置

Spring MVC 的配置 Configuring Spring MVC

* 开启Spring MVC默认配置

Java Config: 加入@EnableWebMvc 到 某个有 @Configuration 注解的类头。

1
2
3
4
5
@Configuration
@EnableWebMvc
public class WebConfig {
}

XML方式: 增加mvc:annotation-driven 到 DispatcherServlet 的context里面。

1
2
3
4
5
6
7
8
9
10
11
12
13
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc.xsd">
<mvc:annotation-driven />
</beans>

* 自定义Spring MVC配置

Java Config: 加入@EnableWebMvc 到 某个有 @Configuration 注解的类头。自己实现WebMvcConfigurer, 更多是继承WebMvcConfigurerAdapter并重写你自己需要的方法。

1
2
3
4
5
6
7
@Configuration
@EnableWebMvc
public class WebConfig extends WebMvcConfigurerAdapter {
// Override configuration methods...
}

XML方式: 增加mvc:annotation-driven 到 DispatcherServlet 的context里面。设置自己需要Spring MVC XML schema里面的元素值。

* 高级自定义Spring MVC配置

Java Config: 去掉@EnableWebMvc@Configuration 注解类头,自己实现WebMvcConfigurationSupport., 更多是继承DelegatingWebMvcConfiguration并重写你自己需要的方法。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
@Configuration
public class WebConfig extends DelegatingWebMvcConfiguration {
@Override
public void addInterceptors(InterceptorRegistry registry){
// ...
}
@Override
@Bean
public RequestMappingHandlerAdapter requestMappingHandlerAdapter() {
// Create or let "super" create the adapter
// Then customize one of its properties
}
}

具体内容看头部的官方文档