【springboot】3、自动配置(springboot自动配置的原理) |
您所在的位置:网站首页 › pomxml文件在哪里 › 【springboot】3、自动配置(springboot自动配置的原理) |
文章目录
基本介绍
自动配置了哪些内容
修改默认配置
修改默认扫描包
常见配置
自定义配置
springboot在哪里读取配置文件
按需加载原则
基本介绍
我们在使用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进行注入 ![]() ![]() ![]() springboot是ConfigFileApplicationListener定义了读取配置文件的名称和路径,源码如下 ![]() ![]() ![]() ![]() 我们在配置文件中指定的配置项其实就是指定xxxProperties的成员属性 ![]() ![]() ![]() ![]() |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |