defaultViewResolver 覆盖顺序问题

来源:5-10 ViewResolver 冲突说明部分

Angular_Dracula

2018-08-26

WebMvcAutoConfiguration 中 defaultViewResolver 上不是注解了@ConditionalOnMissingBean么,

按道理来说,只要我们自己配置了相同名字的 defaultViewResolver  就会覆盖 WebMvcAutoConfiguration 中 的defaultViewResolver。

为什么课程里面断点没有进到我们自己写的defaultViewResolver  


写回答

2回答

慕丝3173549

2021-12-03

实验了一下, WebMvcAutoConfiguration类是通过spring.factories 注入的, 

所以在自己的工程下也做相同的配置。

org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
xxxxxxxx.WebMvcConfig

然后让WebMvcCofig类继承Orded接口, 设置顺序比WebMvcAutoConfiguration高就可以了。

但是还有一个问题就是使用@Order注解无法改变顺序。只能继承接口。原因不清楚。

0
0

小马哥

2018-08-29

还有一个取决条件,就是Bean 定义在 Spring 应用上下文中加载的顺序,这个有时候不一定非常确定。

0
1
此间道
能详细讲一下吗,对于自定义的defaultViewResolver()和viewResolver(),为什么spring容器中会覆盖掉预定义的ContentNegotiatingViewResolver而保留预定义的InternalResourceViewResolver
2020-03-25
共1条回复

Spring Boot2.0深度实践 核心原理拆解+源码分析

系统化剖析Spring Boot 2.0,掌握技术原理,学习源码阅读技巧

2904 学习 · 213 问题

查看课程