Java --- springboot3之web的自动配置

news/2025/1/12 21:40:30/

目录

一、自动配置

二、默认效果


一、自动配置

1、导入web的pom依赖

<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency>

2、引入了 autoconfigure功能

 3、@EnableAutoConfiguration注解使@Import(AutoConfigurationImportSelector.class)批量导入组件

4、加载 META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports 文件中配置的所有组件

5、所有自动配置类如下

org.springframework.boot.autoconfigure.web.client.RestTemplateAutoConfiguration
org.springframework.boot.autoconfigure.web.embedded.EmbeddedWebServerFactoryCustomizerAutoConfiguration
====以下是响应式web场景和现在的没关系======
org.springframework.boot.autoconfigure.web.reactive.HttpHandlerAutoConfiguration
org.springframework.boot.autoconfigure.web.reactive.ReactiveMultipartAutoConfiguration
org.springframework.boot.autoconfigure.web.reactive.ReactiveWebServerFactoryAutoConfiguration
org.springframework.boot.autoconfigure.web.reactive.WebFluxAutoConfiguration
org.springframework.boot.autoconfigure.web.reactive.WebSessionIdResolverAutoConfiguration
org.springframework.boot.autoconfigure.web.reactive.error.ErrorWebFluxAutoConfiguration
org.springframework.boot.autoconfigure.web.reactive.function.client.ClientHttpConnectorAutoConfiguration
org.springframework.boot.autoconfigure.web.reactive.function.client.WebClientAutoConfiguration
================以上没关系=================
org.springframework.boot.autoconfigure.web.servlet.DispatcherServletAutoConfiguration
org.springframework.boot.autoconfigure.web.servlet.ServletWebServerFactoryAutoConfiguration
org.springframework.boot.autoconfigure.web.servlet.error.ErrorMvcAutoConfiguration
org.springframework.boot.autoconfigure.web.servlet.HttpEncodingAutoConfiguration
org.springframework.boot.autoconfigure.web.servlet.MultipartAutoConfiguration
org.springframework.boot.autoconfigure.web.servlet.WebMvcAutoConfiguration

6、绑定了配置文件的一堆配置项

  • 1、SpringMVC的所有配置 spring.mvc
  • 2、Web场景通用配置 spring.web
  • 3、文件上传配置 spring.servlet.multipart
  • 4、服务器的配置 server: 比如:编码方式

二、默认效果

 默认配置:

1、包含了 ContentNegotiatingViewResolver 和 BeanNameViewResolver 组件,方便视图解析。

2、默认的静态资源处理机制: 静态资源放在 static 文件夹下即可直接访问。

3、自动注册Converter,GenericConverter,Formatter组件,适配常见数据类型转换格式化需求。

4、支持 HttpMessageConverters,可以方便返回json等数据类型。

5、注册 MessageCodesResolver,方便国际化及错误消息处理。

6、支持 静态 index.html。

7、自动使用ConfigurableWebBindingInitializer,实现消息处理、数据绑定、类型转化、数据校验等功能。

重要:

  • 如果想保持 boot mvc 的默认配置,并且自定义更多的 mvc 配置,如:interceptors, formatters, view controllers 等。可以使用@Configuration注解添加一个 WebMvcConfigurer 类型的配置类,并不要标注 @EnableWebMvc
  • 如果想保持 boot mvc 的默认配置,但要自定义核心组件实例,比如:RequestMappingHandlerMapping, RequestMappingHandlerAdapter, 或ExceptionHandlerExceptionResolver,给容器中放一个 WebMvcRegistrations 组件即可
  • 如果想全面接管 Spring MVC,@Configuration 标注一个配置类,并加上 @EnableWebMvc注解,实现 WebMvcConfigurer 接口


http://www.ppmy.cn/news/169505.html

相关文章

c# vs2013 制作水晶报表并导出为 pdf

一两年前接触的&#xff0c;当时没有记录&#xff0c;现在把他写下来。 vs2013制作水晶报表&#xff0c;应该要用到插件安装&#xff0c;可以自行搜索安装插件。 在Views/RPT文件夹下创建.rpt后缀的水晶报表文件&#xff08;这里的文件夹位置根据自身随意更改&#xff09;。 在…

笔记本命名规则

笔记本命名规则 本本交流 2009-11-08 20:13 阅读43 评论0 字号&#xff1a; 大 大 中 中 小 小 联想的产品线规划 2008年&#xff0c;对于联想来说是值得纪念的一年。一方面&#xff0c;它作为北京奥运会的顶级赞助商&#xff0c;让全世界对Lenovo这个品牌有了更多的了解…

【Spring】— 动态SQL :<choose>、<when>和<otherwise>元素

<choose>、<when>和<otherwise>元素 在使用<if>元素时&#xff0c;只要test属性中的表达式为true&#xff0c;就会执行元素中的条件语句&#xff0c;但是在实际应用中&#xff0c;有时只需要从多个选项中选择一个执行。例如&#xff0c;若用户姓名不为…

AIGC周报|30秒定制一个文生图模型;60美元让AI玩转《我的世界》;手机版“文生图”模型:2秒不到出一张图

AIGC&#xff08;AI Generated Content&#xff09;即人工智能生成内容。近期爆火的 AI 聊天机器人 ChatGPT&#xff0c;以及 DallE 2、Stable Diffusion 等文生图模型&#xff0c;都属于 AIGC 的典型案例&#xff0c;它们通过借鉴现有的、人类创造的内容来快速完成内容创作。 …

滴滴和华为5年,分享一下真实的划水经验....

先简单交代一下背景吧&#xff0c;某不知名 985 的本硕&#xff0c;17 年毕业加入华为&#xff0c;之后跳槽到了滴滴&#xff0c;一直从事软件测试的工作。之前没有实习经历&#xff0c;算是5年的工作经验吧。 这5年之间完成了一次晋升&#xff0c;换了一家公司&#xff0c;有…

台灯等级AAA和AA有什么差别?台灯照度国家aa标准是什么

根据GB/T 9473-2017《读写作业台灯性能要求》&#xff0c;国家将护眼灯的照度和均匀度按质量的高低划为了国AA和国A两个等级&#xff0c;具体来讲&#xff0c;以出光面的中心投影点为圆心&#xff0c;半径300mm以内的范围&#xff0c;照度大于300lx就是国A级&#xff0c;大于50…

[buuctf] crypto全解——前84道(不建议直接抄flag)

buuctf crypto 1.MD52.Url编码3.一眼就解密4.看我回旋踢5.摩丝6.[BJDCTF 2nd]签到-y1ng7.password8.变异凯撒9.Quoted-printable10.Rabbit11.篱笆墙的影子12.RSA13.丢失的MD514.[BJDCTF 2nd]老文盲了15.Alice与Bob16.rsarsa17.大帝的密码武器18.Windows系统密码19.[BJDCTF 2nd]…

【菜鸟必看】CSDN博客字体颜色编码大全,前端颜色编码,都在这里了!!

Markdown是一种可以使用普通文本编辑器编写的标记语言&#xff0c;通过类似HTML的标记语法&#xff0c;它可以使普通文本内容具有一定的格式。但是它本身是不支持修改字体、字号与颜色等功能的&#xff01; CSDN-markdown编辑器是其衍生版本&#xff0c;扩展了Markdown的功能&a…