一.springboot以及把所有的springmvc基本配置自动的配置好了,我们可以通过自定义配置类来重新配置springboot的配置.
-配置了视图解析器 默认图标 默认页面 静态资源
-类型转换、格式化 如果想要自定义只需要添加到容器中即可,可以通过@bean的方式添加到容器,springboot都是通过获取容器中的bean来添加的。
转换为json、error的时候
二springmvc的自定义配置
以前我们通过XML文件配置拦截器 配置映射等等
<mvc:view‐controller path="/hello" view‐name="success"/>
<mvc:interceptors>
<mvc:interceptor>
<mvc:mapping path="/hello"/>
<bean></bean>
</mvc:interceptor>
</mvc:interceptors>
现在我们可以通过配置类来完成下图添加了映射关系 通过访问ayguigu会跳转到success的映射 所以我们可以通过配置配置类来完成
//使用WebMvcConfigurerAdapter可以来扩展SpringMVC的功能
@Configuration
public class MyMvcConfig extends WebMvcConfigurerAdapter {
@Override
public void addViewControllers(ViewControllerRegistry registry) {//
super.addViewControllers(registry); //浏览器发送 /atguigu 请求来到 success
registry.addViewController("/atguigu").setViewName("success"); }
}
三。全面接管springmvc
SpringBoot对SpringMVC的自动配置不需要了,所有都是我们自己配置;所有的SpringMVC的自动配置都失效了 我们需要在配置类中添加@EnableWebMvc即可;
原理:为什么配置了@EnableWebMvc会失效:
1.首先@EnableWebMvc的核心:导入这个类
2.这个类继承了WebMVCconfig…
3.如果没有这个类自动配置才生效,因为加了上面那个注解 有了这个类 所以自动配置不生效
三、如何修改SpringBoot的默认配置
模式:
1)、SpringBoot在自动配置很多组件的时候,先看容器中有没有用户自己配置的(@Bean、@Component)如 果有就用用户配置的,如果没有,才自动配置;如果有些组件可以有多个(ViewResolver)将用户配置的和自己默 认的组合起来;
2)、在SpringBoot中会有非常多的xxxConfigurer帮助我们进行扩展配置
3)、在SpringBoot中会有很多的xxxCustomizer帮助我们进行定制配置