springboot 核心注解


Spring boot 使用也需要搭配 Spring 使用 ,Spring 常用的注解

Spring 注解

1.@Configuration

@Configuration 注解用戶定義配置類,可替換xml 文件,被注解的類包含一個或者多個 @Bean 注解的方法,這些方法將被 ,用於構建Bean ,初始化Spring 容器

2.@ComponentScan

常用的注解 @Controller @Service @Repository ,有一個共同的注解 @Component ,@ComponentScan 標注的就會掃描這些注解標注的類到Spring 容器中

@SpringBootApplication 注解就包含了 @ComponentScan 注解,即不用再添加掃描注解【@EnableAutoConfiguration @ComponentScan @SpringBootConfiguration】

3.@Conditional

@Conditional 是 Spring 4 提供的注解,通過@Conditional 注解可以根據設置的條件裝載不同的bean ,Springboot 注解中的 @ConditionalOnProperty @ConditionalOnBean  等以@Conditional* 

開頭的注解,都是通過集成了 @Conditional 來實現相應的功能的

4.@Import

通過導入的方式把實例加入到Spring IOC 容器中

5.@ImportResource

與 @Import 類似,區別是 @ImportResource 導入的是配置文件

6.@Component

@Component 是一個元注解,帶有該注解的類被看作組件,當基於注解的類路徑掃描的時候,這些類就會被實例化

Spring boot 核心注解

1. @SpringBootApplication

是SpringBoot 的最核心的注解,在spring boot 的主類上,標識 是SpringBoot 應用,用來開啟SpringBoot 的各項能力。由@SpringBootConfiguration @EnableAutoConfiguration  @ComponentScan 三個注解組成。這三個注解是一起使用,

所以spring boot提供了一個統一的注解 @SpringBootApplication

2.@EnableAutoConfiguration

允許Springboot 自動裝配,開啟改注解,Spring boot 就能根據當前類路徑下的包或者類來配置 Spring Bean 

例如:當前類路徑下有 Mybatis 的 JAR 包,MybatisAutoConfiguration 注解就能根據相關的參數來配置Mybatis 的各個Spring Bean

@EnableAutoConfiguration  實現的關鍵在於引入了AutoConfigurationImportSelector ,其核心邏輯為 selectImports 方法,

  • 從配置文件 MATA-INF/spring.factories 加載所有可能用到的自動裝配類
  • exclude excludeName 屬性攜帶的類排除
  • 過濾,將滿足條件 @Conditional 的自動配置類返回

3.@SpringBootConfiguration

改注解就是 @Configuration 注解的變體,用來修改SpringBoot 配置

4.@ConditionalOnBean

@ConditionalOnBean(A.class)  當前上下文存在A對象時,才會實例化一個 Bean ,也就是只有A.class ,在 Spring 的 上下文中時,當前的 bean 才能夠創建

5.@ConditionalOnMissingBean

與上述相反,當缺失某個 bean 才會創建當前的bean 

6.@ConditionalOnClass

當且僅當某些類存在於 classpath 上,才會創建某個 bean

7.@ConditionalOnMissingClass

與上述相反,當前僅當classpath 不存在指定的Class 才會開啟配置

8.@ConditionalOnProperty

指定的屬性有指定的值才開啟配置,通過屬性 name 以及havingValue ,其中 name 用 application.properties 中讀取某個屬性的值

9.@ConditionalOnResource

classpath 類路徑下有指定的資源才會開啟配置

 10.@PropertySource(“”)

指定配置文件路徑

11.@ConfigurationProperties(prefix = "前綴")

指定配置文件前綴


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM