Spring Boot的配置文件和自动配置原理

Spring Boot的配置文件和自动配置原理

1.使用Spring Initializer快速创建Spring Boot项目
1、IDEA:使用 Spring Initializer快速创建项目
IDE都支持使用Spring的项目创建向导快速创建一个Spring Boot项目;
选择我们需要的模块;向导会联网创建Spring Boot项目;
默认生成的Spring Boot项目;
主程序已经生成好了,我们只需要我们自己的逻辑
resources文件夹中目录结构
static:保存所有的静态资源; js css images;
templates:保存所有的模板页面;(Spring Boot默认jar包使用嵌入式的Tomcat,默认不支持JSP页
面);可以使用模板引擎(freemarker、thymeleaf)
application.properties:Spring Boot应用的配置文件;可以修改一些默认设置;
2.自定义SpringApplication
如果SpringApplication默认设置不符合您的喜好,则可以创建一个本地实例并对其进行自定义。例如,要关闭横幅,您可以编写:
在这里插入图片描述
3.配置文件的使用
springboot中配置文件的三种格式:
使用yml的情况最多
两种配置文件的格式
1、application.properties的用法:扁平的k/v格式。
在这里插入图片描述
2、application.yml的用法:树型结构。
在这里插入图片描述
yml基本语法:
k:(空格)v:表示一对键值对(空格必须有);
以空格的缩进来控制层级关系;只要是左对齐的一列数据,都是同一个层级的;
属性和值也是大小写敏感;
如果有特殊字符% & 记得用单引号(‘)包起来;

配置文件的加载顺序
在这里插入图片描述
优先级加载顺序:yml>yaml>properties
3.外部约定配置文件加载顺序:
从低到高:

  1. classpath根目录下的
    这里yml的优先级大于properties的优先级
  2. classpath根config/
    这里config包的优先级最高
  3. 项目根目录
    在这里插入图片描述
  4. 项目根目录/config
    在这里插入图片描述
  5. 直接子目录/config
    总结:优先级从低到高为
    在这里插入图片描述
    4、配置文件值注入
    实体类user和Address实体类
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    Address实体类
    在这里插入图片描述
    使用yml的方式
    在这里插入图片描述
    当然也可以使用properties的方式:
    在这里插入图片描述
    注意:使用properties的方式需要在对应的实体类上加上@PropertySource这个注解
    在这里插入图片描述
    在实体类中建议使用@ConfigurationProperties注解来实现批量注入的功能。
    如果使用@Value的话一次只能注入一个,会比较麻烦。
    @Validated注解是用来实现数据校验的
    当然使用数据校验之前要先在pom.xml文件中加上
    在这里插入图片描述
    @Value获取值和@ConfigurationProperties获取值比较

在这里插入图片描述
5. Spring Boot的自动配置原理
自动配置流程图
https://www.processon.com/view/link/5fc0abf67d9c082f447ce49b
这个自动配置流程图较为重要,最好能自己画出来。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Spring Boot自动配置原理是通过在类路径中搜索特定的类,并根据它们发现的内容自动配置应用程序。它使用@EnableAutoConfiguration注解和@Configuration注解将类路径中的类和jar文件Spring应用程序上下文进行关联。 ### 回答2: Spring Boot自动配置原理是通过条件注解实现的。 Spring Boot在启动时会通过@SpringBootApplication注解扫描类路径下的所有组件,并自动配置这些组件的实例。在自动配置过程中,Spring Boot使用了条件注解来判断是否需要配置某个组件。 条件注解可以根据一些条件来决定是否启用某个组件的配置。例如,@ConditionalOnClass注解可以根据类路径下是否存在指定的类来决定是否启用某个组件的配置。@ConditionalOnProperty注解可以根据配置文件中的属性值来决定是否启用某个组件的配置。 在自动配置过程中,Spring Boot会通过条件注解判断是否需要配置某个组件,如果需要配置,则会根据组件的配置类和属性值创建对应的实例。如果没有需要配置的组件,Spring Boot会跳过自动配置过程。 通过自动配置Spring Boot简化了应用的搭建过程,减少了开发人员的配置工作。开发人员只需要在配置文件中设置一些属性,或者添加一些指定的依赖,Spring Boot就能根据这些信息自动配置应用所需的组件。 总之,Spring Boot自动配置原理是通过条件注解来判断是否需要配置某个组件,根据配置类和属性值创建对应的实例,从而简化了应用的配置过程。这个原理使得开发人员能够更加专注于业务逻辑的开发,提高了开发效率。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值