SpringBoot 入门<1>

SpringBoot 主入口内注解解读

1.@SpringBootApplication主要组成

  • 1.@SpringBootConfiguration
  • 2.@EnableAutoConfiguration
1.1@SpringBootConfiguration

其实就是spring中的@Configuration,标注的类为配置类。配置类也是容器中的一个组件;@Component

1.2@EnableAutoConfiguration

1.开启自动配置功能

@AutoConfigurationPackage
@Import(EnableAutoConfigurationImportSelector.class)
public @interface EnableAutoConfiguration {

2.@AutoConfigurationPackage:

@Import(AutoConfigurationPackages.Registrar.class)
public @interface AutoConfigurationPackage {

		@Override
		public void registerBeanDefinitions(AnnotationMetadata metadata,
				BeanDefinitionRegistry registry) {
			register(registry, new PackageImport(metadata).getPackageName());
		}

将主配置类(@SpringBootApplication标注的类)的所在包及所有子包里面的所有组件扫描到Spring容器.注册BeanDefinition。

3.@Import(EnableAutoConfigurationImportSelector.class)

AutoConfigurationMetadata autoConfigurationMetadata = AutoConfigurationMetadataLoader
					.loadMetadata(this.beanClassLoader);
			AnnotationAttributes attributes = getAttributes(annotationMetadata);
			List<String> configurations = getCandidateConfigurations(annotationMetadata,
					attributes);

通过AutoConfigurationImportSelector 类,导入自动配置类。
Spring Boot在启动的时候从类路径下的META-INF/spring.factories中获取EnableAutoConfiguration指定的值,将这些值作为自动配置类导入到容器中,自动配置类就生效,帮我们进行自动配置工作;以前我们需要自己配置的东西,自动配置类都帮我们;
导入的自动配置类

2.自动配置原理

SpringBoot启动后,已经将自动配置配导入到容器中,然后通过@Conditional***调节注解,判断该自动配置类是否生效,结合@EnableConfigurationProperties将配置文件中的配置信息和对应类属性绑定,完成自动配置。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值