SpringBoot

1、springboot自动装配原理?

@EnableAutoConfiguration (核心注解)

@ComponentScan

@SpringBootConfiguration

1.1、SpringBoot启动的时候加载主配置类,开启了自动配置功能@EnableAutoConfiguration

1.2、@EnableAutoConfiguration 作用:@Import

利用EnableAutoConfigurationImportSelector给容器中导入一些组件

1.3、将 类路径下 META-INF/spring.factories 里面配置的所有EnableAutoConfiguration的值加入到了容中

每一个这样的 xxxAutoConfiguration类都是容器中的一个组件,都加入到容器中;用它们来做自动配置

xxxAutoConfigurartion.class:自动配置类

xxxProperties.class:封装配置文件中相关属性

根据当前不同的条件判断,决定这个配置类xxxAutoConfigurartion.class是否生效,若生效,这个配置类就会给容器中添加各种组件;这些组件的属性是从对应的xxxProperties.class类中获取的,这些类里面的每一个属性又是和配置文件绑定的

1.4、每一个自动配置类进行自动配置功能,根据当前不同的条件判断,决定这个配置类是否生效

1.5、一但这个配置类生效;这个配置类就会给容器中添加各种组件;这些组件的属性是从对应的properties类中获取的,这些类里面的每一个属性又是和配置文件绑定的

1.6、开发时pom文件引入的启动器提供了自动配置类

WebMvcAutoConfiguration为例:

spring.factories

WebMvcAutoConfiguration.class

WebMvcProperties.class

2、spring-boot-starter-parent 有什么用 ?

1、继承自 spring-boot-dependencies,这个里边定义了依赖的版本,也正是因为继承了这个依赖,所以我们在写 依赖时才不需要写版本号

2、配置了一些常用的 Maven 插件,如编译插件、打包插件等,并使用了适当的配置。这样,你在子项目中可以直接使用这些插件,而无需自己进行复杂的插件配置

3、预定义了一些常用的项目设置,如编译级别、源代码编码、资源目录等。这些设置有助于保持项目的一致性和标准化

4、继承了 Maven 的默认父项目,这意味着你可以利用 Maven 的功能,并继承了一些默认的 Maven 配置

3、Spring Boot 中的 starter 到底是什么 ?

1、它整合了这个模块需要的依赖库

2、提供对模块的配置项给使用者、并可以对配置项提供默认值,使得使用者可以不指定配置时提供默认配置项值,也可以根据需要指定配置项值

3、提供自动配置类对模块内的Bean进行自动装配

如何自定义Starter?

  1. 新建Maven项目,在项目的POM文件中定义使用的依赖;
  2. 新建配置类,写好配置项和默认的配置值,指明配置项前缀;
  3. 新建自动装配类,使用@Configuration和@Bean来进行自动装配;
  4. 新建spring.factories文件,指定Starter的自动装配类;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值