【springboot】3、自动配置

有时候,不是因为你没有能力,也不是因为你缺少勇气,只是因为你付出的努力还太少,所以,成功便不会走向你。而你所需要做的,就是坚定你的梦想,你的目标,你的未来,然后以不达目的誓不罢休的那股劲,去付出你的努力,成功就会慢慢向你靠近。

导读:本篇文章讲解 【springboot】3、自动配置,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com,来源:原文

基本介绍

我们在使用springboot时发现十分的方便,要做的工作基本很少,为什么呢?因为在springboot中很多的配置都要默认项,比如tomcat默认端口为8080,数据库连接池用的是HikariDataSource

自动配置了哪些内容

springboot中自动配置了大量的内容,我们只需要做少量的工作即可,要看具体配置了什么,我们其实可以在spring容器中的beanFactory中的singletonObjects进行查看,可以发现创建了大量的bean
在这里插入图片描述
在这里插入图片描述

下面我们来看一个常见的自动配置,也是用的最多的,那就是默认扫描包
在这里插入图片描述
在这里插入图片描述

上面是我的项目结构,可以发现十分简单,就一个App启动类,还有一个Controller,我并没有配置扫描路径,但是启动之后我却能够访问到Controller

在这里插入图片描述

能访问到的原因就是springboot自动配置了扫描包的路径就是当前启动类所在的包以及其子包,下面是官方的说明

在这里插入图片描述

修改默认配置

修改默认扫描包

要修改其实很简单,自己指定就行了嘛,如果要自己指定要扫描的包或者要排除的包或类,我们可以直接通过@SpringBootApplication @EnableAutoConfiguration @ComponentScan这些注解来进行指定,具体使用查看源码注释即可
在这里插入图片描述

常见配置

我们修改默认配置肯定不是都在类上使用注解完成,我们一般都是在配置文件中进行的,当然,在springboot中也不例外,springboot的核心配置文件是application.properties,将其放在resource目录下即可,springboot会自动读取,我们要进行什么配置在其中指定即可,常见配置请参考配置大全,部分截图如下
在这里插入图片描述

在这里插入图片描述

自定义配置

我们除了可以在配置文件中指定配置之外,我们还可以自定义配置,然后通过@Value(“${}”)进行获取
例如下面我在配置文件中指定了一个属性my.age,然后通过@Value进行注入
在这里插入图片描述
在这里插入图片描述
然后访问localhost:8080/t2查看是否注入成功,可以发现没有问题
在这里插入图片描述

springboot在哪里读取配置文件

springboot是ConfigFileApplicationListener定义了读取配置文件的名称和路径,源码如下
在这里插入图片描述
在这里插入图片描述
可以发现名称为application,后缀可以是properties,yml,yaml,yml和yaml后面进行说明。配置文件的路径除了在resource目录下,还可以在其它位置,例如还可以在resource下的config目录下

按需加载原则

  1. 自动配置遵守按需加载原则:也就是说,引入了哪个场景 starter 就会加载该场景关联的 jar 包,没有引入的 starter 则不会加载其关联 jar
  2. SpringBoot 所 有 的 自 动 配 置 功 能 都 在 spring-boot-autoconfigure
    在这里插入图片描述
  3. 在 SpringBoot 的 自 动 配 置 包 , 一 般 是 XxxAutoConfiguration.java, 对 应XxxxProperties.java
    在这里插入图片描述

我们在配置文件中指定的配置项其实就是指定xxxProperties的成员属性
在这里插入图片描述
例如上面的CacheProperties就是通过@ConfigurationProperties这个注解中指定的前缀去配置文件中读取信息,在配置文件中也会又提示
在这里插入图片描述

在这里插入图片描述
我们通过配置文件指定其成员属性,然后在XXXAutoConfiguration中读取XXXProperties进行设置
在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/146283.html

(0)
飞熊的头像飞熊bm

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!