搜索
您的当前位置:首页正文

SpringBoot自动配置的原理

来源:易榕旅网

《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》,即可获取!

server.port=8888

spring.mvc.view.prefix=/resources/templates/

spring.mvc.view.suffix=html

  • application.yml

server:

port: 8888

spring:

mvc:

view:

prefix: /resources/templates/

suffix: html

yml文件的配置更加简洁一些,需要注意格式:

自动配置原理

====================================================================

前面的SpringMVC案例中我们完全看不到之前SpringMVC繁杂的配置,这些配置都到哪里去了呢?

下面就带大家来看看SpringBoot是如何实现自动配置的。

分析启动类

===================================================================

两个重点:

  1. @SpringBootApplication 注解

  2. SpringApplication.run方法

@SpringBootApplication

====================================================================================

源码:

@SpringBootApplication三个重要的上级注解:

  • @SpringBootConfiguration

表示当前类是SpringBoot的配置类,继承了@Configuration注解

  • @ComponentScan

表示当前类可以对下面的包进行组件扫描,完成IOC

  • @EnableAutoConfiguration

表示启动自动配置,SpringBoot的自动配置特性就是该注解启动的

自动配置过程

====================================================================

@EnableAutoConfiguration启动了自动配置,还要考虑两个问题:

  1. 配置的内容在哪里呢?

  2. 为什么引入starter后就开始生效呢?

配置的内容


在引入的依赖中,有个叫:spring-boot-autoconfigure

打开后会看到里面有大量的第三方框架名称,几乎涵盖了所有主流的框架。

SpringMVC配置分析


来看看我们熟悉的SpringMVC的配置

配置何时生效


WebMvcAutoConfiguration源码:

重点看上面的几个注解:

  • @Configuration

表示当前类是一个配置类

  • @ConditionalOnClass

配置生效的条件是存在某些类,这里有Servlet、DispatcherServlet和WebMvcConfigurer,这些都是SpringMVC核心类,也就是说只要引入了SpringMVC的依赖,配置就生效。

  • @ConditionalOnMissingBean

配置生效的条件是不存在某些对象,存在WebMvcConfigurationSupport对象配置就失效。

  • @AutoConfigureOrder

自动配置的顺序

  • @AutoConfigureAfter

自动配置在哪些配置后执行

属性在哪里


最后

俗话说,好学者临池学书,不过网络时代,对于大多数的我们来说,我倒是觉得学习意识的觉醒很重要,这是开始学习的转折点,比如看到对自己方向发展有用的信息,先收藏一波是一波,比如如果你觉得我这篇文章ok,先点赞收藏一波。这样,等真的沉下心来学习,不至于被找资料分散了心神。慢慢来,先从点赞收藏做起,加油吧!

另外,给大家安排了一波学习面试资料:

以上就是本文的全部内容,希望对大家的面试有所帮助,祝大家早日升职加薪迎娶白富美走上人生巅峰!
《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》,即可获取!
4670969490)]

[外链图片转存中…(img-VpFrj9JS-1714670969491)]

以上就是本文的全部内容,希望对大家的面试有所帮助,祝大家早日升职加薪迎娶白富美走上人生巅峰!
《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》,即可获取!

因篇幅问题不能全部显示,请点此查看更多更全内容

Top