Spring Boot 几个常见的核心注解

SpringBoot提倡的微服务理念,已深入人心,现在也基本是很多公司的首先开发框架了。她是由Pivotal团队在Spring基础上提供的全新框架,还是秉承着Spring一贯的理念:习惯优于配置。相信使用过SpringBoot的人对@SpringBootApplication注解都不陌生吧,她是启动类上面的一个最最核心的注解,今天我们就来分析下这个注解。

「SpringBoot」不得不了解的核心注解

 

​一、三个注解的组合

@SpringBootApplication是启动类上的最重要的一个注解,我们点进去可以看到,她其实是三个注解的组合,也就是说使用者一个注解的作用相当于三个注解。

「SpringBoot」不得不了解的核心注解

 

这三个注解分别是,

  1. @SpringBootConfiguration
  2. @ComponentScan
  3. @EnableAutoConfiguration

二、@SpringBootConfiguration

@SpringBootConfiguration 其实就是对原 @Configuration 注解的简单封装。

「SpringBoot」不得不了解的核心注解

 

@Configuration是Spring 3.0时添加的一个注解,用来代替 applicationContext.xml 配置文件,所有这个配置文件里面能做到的事情都可以通过这个注解所在类来进行注册。

@Configuration还有下面几个相关的注解,也可很重要。

1、@Bean

用来代替 XML 配置文件里面的bean配置。

2、@ImportResource

如果有些通过类的注册方式配置不了的,可以通过这个注解引入额外的 XML 配置文件,有些老的配置文件无法通过 @Configuration 方式配置的非常管用。

3、@Import

用来引入额外的一个或者多个 @Configuration 修饰的配置文件类。

三、@ComponentScan

@ComponentScan主要用来开启组件扫描,可以自动扫描指定包路径下的@Component注解类并将bean实例注册到context中。

「SpringBoot」不得不了解的核心注解

 

@ComponentScan是Spring 3.1时添加的一个注解,用来代替配置文件中的 component-scan 配置,并且可重复注解,即可以配置多个,用来配置注册不同的子包。

四、@EnableAutoConfiguration

@EnableAutoConfiguration主要用来提供自动装配,是这三个注解中最重要的一个注解。她是Spring Boot新添加的注解,提供了强大的自动依赖功能,是SpringBoot这么方便的大功臣。

「SpringBoot」不得不了解的核心注解

 

自动装配原理

@EnableAutoConfiguration注解的关键在于引入了AutoConfigurationImportSelector,其核心逻辑为selectImports方法,逻辑大致如下:

  1. 从配置文件META-INF/spring.factories加载所有可能用到的自动配置类;
  2. 去重,并将exclude和excludeName属性携带的类排除;
  3. 过滤,将满足条件(@Conditional)的自动配置类返回。

「SpringBoot」不得不了解的核心注解

 

好了,本节我们了解了@SpringBootApplication这个核心注解,你都清楚了吗。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值