03spring boot web springmvc自动配置原理

本文详细介绍了SpringBoot如何自动配置SpringMVC,包括视图解析器、静态资源处理、类型转换、HTTP消息转换等内容,并探讨了如何扩展和自定义这些配置。

springboot中使用springmvc
https://docs.spring.io/spring-boot/docs/2.1.8.RELEASE/reference/html/boot-features-developing-web-applications.html

springboot 为springmvc做了哪些自动配置
29.1.1 Spring MVC Auto-configuration

Inclusion of ContentNegotiatingViewResolver and BeanNameViewResolver beans.
   *自动配置了ViewResolver(视图解析器:根据方法的返回值得的视图对象View),视图对象决定如何渲染(转发还是重定向)
    *ContentNegotiatingViewResolver :组合所有的视图解析器
    *可以自定义视图解析器
Support for serving static resources, including support for WebJars (covered later in this document)).
* 静态资源路径,webjars路径
Automatic registration of Converter, GenericConverter, and Formatter beans.
  *Converter:转换器,将页面传入的参数与方法中对象转换(类型转换)
  *Formatter :格式化器,字符串日期转Date;
  
Support for HttpMessageConverters (covered later in this document).
 *HttpMessageConverters :springMVC用来转换http请求和响应:对象转json
Automatic registration of MessageCodesResolver (covered later in this document).
Static index.html support.//静态首页
Custom Favicon support (covered later in this document) 默认图标.
Automatic use of a ConfigurableWebBindingInitializer bean (covered later in this document).

If you want to keep Spring Boot MVC features and you want to add additional MVC configuration (interceptors, formatters, view controllers, and other features), you can add your own @Configuration class of type WebMvcConfigurer but without @EnableWebMvc. If you wish to provide custom instances of RequestMappingHandlerMapping, RequestMappingHandlerAdapter, or ExceptionHandlerExceptionResolver, you can declare a WebMvcRegistrationsAdapter instance to provide such components.

If you want to take complete control of Spring MVC, you can add your own @Configuration annotated with @EnableWebMvc.

Formatter 格式化器
在这里插入图片描述扩展SpringMVC
配置文件的写法
在这里插入图片描述
用户自己写View http://127.0.0.1:8080/test 结果跳转到success.html页面
在这里插入图片描述原理
在这里插入图片描述 在这里插入图片描述
全面接管SpringMVC:
通过@EnableWebMvc配置Springboot对SpringMVC的自动配置不起作用,所有都是用户自己配置,在配置类中的地方加入@EnableWebMvc
在这里插入图片描述
原理 为什么添加@EnableWebMvc后SpringMVC的自动配置失效
在这里插入图片描述在这里插入图片描述如何修改springboot的默认配置
模式
1.springboot在自动配置很多组件的时候,先看容器中有没有用户自己配制的(@Bean,@Component),如果有就用用户的配置,如果没有就用自动配置,还有如果有些组件可以有多个(比如:ViewResolver)将用户配置的和自动默认的组合起来;
2.在springboot中会有非常多的xxxConfigurer帮助我们进行扩展配置

【SCI复现】基于纳什博弈的多微网主体电热双层共享策略研究(Matlab代码实现)内容概要:本文围绕“基于纳什博弈的多微网主体电热双层共享策略研究”展开,结合Matlab代码实现,复现了SCI级别的科研成果。研究聚焦于多个微网主体之间的能源共享问题,引入纳什博弈理论构建双层优化模型,上层为各微网间的非合作博弈策略,下层为各微网内部电热联合优化调度,实现能源高效利用与经济性目标的平衡。文中详细阐述了模型构建、博弈均衡求解、约束处理及算法实现过程,并通过Matlab编程进行仿真验证,展示了多微网在电热耦合条件下的运行特性和共享效益。; 适合人群:具备一定电力系统、优化理论和博弈论基础知识的研究生、科研人员及从事能源互联网、微电网优化等相关领域的工程师。; 使用场景及目标:① 学习如何将纳什博弈应用于多主体能源系统优化;② 掌握双层优化模型的建模与求解方法;③ 复现SCI论文中的仿真案例,提升科研实践能力;④ 为微电网集群协同调度、能源共享机制设计提供技术参考。; 阅读建议:建议读者结合Matlab代码逐行理解模型实现细节,重点关注博弈均衡的求解过程与双层结构的迭代逻辑,同时可尝试修改参数或扩展模型以适应不同应用场景,深化对多主体协同优化机制的理解。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值