springboot加载配置文件原理?

SpringBoot的Starter机制

1、spring-boot-starter-XX是springboot官方的starter XX-spring-boot-starter是第三方扩展的starter 打印方法执行时间的功能,需要用到aop,咱们的项目就叫做 aspectlog-spring-boot-starter 吧。

2、spring-boot-starter-web:帮我们导入了web模块正常运行所依赖的组件。

3、springboot启动流程如下:启动流程主要分为三个部分,第一部分进行、SpringApplication的初始化模块,配置一些基本的环境变量、资源、构造器、监听器,第二部分实现了应用具体的启动方案,包括启动流程的监听模块、加载配置环境模块。

4、网上大多数的解决方案是通过添加spring-boot-starter-tomcat依赖来解决,但实测证明此方法不可行。首先贴一张很不错的图,SpringBoot启动结构图,图片出自SpringBoot启动流程解析。

springboot的自动装配原理,如何实现按需加载?

1、首先打开一个基本的springboot项目,点进去@SpringBootApplication注解。

2、@EnableAutoConfiguration可以帮助SpringBoot应用将所有符合条件的@Configuration配置都加载到当前SpringBoot创建并使用的IoC容器。

3、通过selectImports方法,取到spring.factories文件下的一系列类名,随后将这些类自动加载至IOC容器中。

springboot加载配置文件原理?  第1张

springboot配置文件总结

1、这两个方法只会获取 classloader 类的 ucp 属性里面第一个匹配到的值。

2、使用 Spring Cloud Alibaba Nacos Config,您可以在 Nacos Server 集中管理你 Spring Cloud 应用的外部属性配置。

3、以下两种方式是将该配置文件打包在jar包里面了,即便只改一个端口号,开发人员先改配置文件,再打包,再运行。此处也记录下,并解开jar包,看下该配置文件被打包后,放置的位置。

4、在SpringBoot中,又对MyBatis框架的整合进行了进一步简化。修改pom.xml配置文件,在项目中引入mybatis-spring-boot- starter依赖支持库,切记也需要数据库链接池的支持的哦。

springboot加载自定义properties原理

1、本文接下来会介绍 ConfigurationPropertiesBindingPostProcessor 是在何时被加入到beanfactory中的,以及 @EnableConfigurationProperties 、 @ConfigurationProperties 注解的实现原理。

2、则只会根据 classloader 的 classpath 列表,选取第一个出现的文件。因为 springboot 加载配置文件时最底层是使用的下面的方法:这两个方法只会获取 classloader 类的 ucp 属性里面第一个匹配到的值。

3、SpringBoot 的核心就是自动配置,自动配置又是基于条件判断来配置 Bean。

SpringBoot启动原理分析

springboot-boot-starter-xxx:spring-boot的场景启动器 spring-boot-starter-web:帮我们导入了web模块正常运行所依赖的组件。

初始化initialize方法执行完之后,会调用run方法,开始启动SpringBoot。首先遍历执行所有通过SpringFactoriesLoader,在当前classpath下的META-INF/spring.factories中查找所有可用的SpringApplicationRunListeners并实例化。

springBoot的启动可以分为两个部分,第一部分:SpringApplication的实例化;第二部分:调用该实例运行run方法(springboot初始化)。

在了解 Spring Boot 的启动流程的时候,我们先看一下一个Spring Boot 应用是如何启动的,如下是一个简单的 SpringBoot 程序,非常的简洁,他是如何做到的呢,我们接下来就将一步步分解。

二、springboot配置文件

以下两种方式是将该配置文件打包在jar包里面了,即便只改一个端口号,开发人员先改配置文件,再打包,再运行。此处也记录下,并解开jar包,看下该配置文件被打包后,放置的位置。

首先,在SpringBoot中,有两种配置文件的方式。一种是application.properties,另一种application.yaml(或者是application.yml)。

配置文件SpringBoot使用一个全局的配置文件application.propertiesapplication.yml配置文件的作用:修改SpringBoot自动配置的默认值,SpringBoot在底层都给我们自动配置好。

Spring Boot 官方 提供了两种常用的配置文件格式,分别是 properties 、 YML 格式。相比于 properties 来说, YML 更加年轻,层级也是更加分明。

对SpringBoot来说,虽然application.yml配置文件更加常见,但是其实默认配置文件是application.properties,当然其格式可以是properties也可以是yaml格式;除此之外,其配置文件也可以是bootstrap.yml。

以上内容为新媒号(sinv.com.cn)为大家提供!新媒号,坚持更新大家所需的互联网后端知识。希望您喜欢!

版权申明:新媒号所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流,不声明或保证其内容的正确性,如发现本站有涉嫌抄袭侵权/违法违规的内容。请发送邮件至 k2#88.com(替换@) 举报,一经查实,本站将立刻删除。

(0)
上一篇 2023-09-23 15:03
下一篇 2023-09-23 15:03

相关推荐

发表回复

登录后才能评论