1)
@Configuration
標註在類上,相當於把該類作爲spring的xml配置文件中的<beans>,作用爲:配置spring容器(應用上下文)
2)
@ComponentScan(basePackages = {"com.*.framework.core"})
告訴Spring 哪個packages 的用註解標識的類 會被spring自動掃描並且裝入bean容器。
@ComponentScans({@ComponentScan({}),@ComponentScan({})})
3)
@PropertySource({"classpath:*.properties"})
PropertySource有以下幾個屬性
1.value爲要加載的文件,可以是多個當以classpath開頭時,程序會自動到classpath中讀取,當以file開頭時,會加載外部的文件
2.name是表示要加載文件的名稱,這裏要加載的配置文件必須是 唯一的不能是多個
3.encoding,設置編碼,我們一般用utf-8
4.ignoreResourceNotFound,這個屬性的意思是當加載的配置文件不存在時,是否報錯默認false,
當爲true時表示文件不存在不報錯,爲false時表示文件不存在報錯
與以下兩個註解配合使用
@ConfigurationProperties(prefix = "framework")
@Value("${framework.port}")
4)
@SpringBootApplication
實際就是三個註解
@SpringbootConfigration 繼承自@Configuration 標註當前類是配置類,
並會將當前類內聲明的一個或多個以@Bean註解標記的方法的實例納入到spring容器中,並且實例名就是方法名。
@EnableAutoConfigration
加載自動配置類,@Import的幫助,將所有符合自動配置條件的bean定義加載到IoC容器
其中,最關鍵的要屬@Import(AutoConfigurationImportSelector.class),
藉助AutoConfigurationImportSelector,
@EnableAutoConfiguration可以幫助SpringBoot應用將所有符合條件的
@Configuration配置都加載到當前SpringBoot創建並使用的IoC容器
SpringFactoriesLoader
SpringFactoriesLoader屬於Spring框架私有的一種擴展方案,
其主要功能就是從指定的配置文件META-INF/spring.factories加載配置。
配合@EnableAutoConfiguration使用的話,它更多是提供一種配置查找的功能支持,
即根據@EnableAutoConfiguration的完整類名org.springframework.boot.autoconfigure.EnableAutoConfiguration作爲查找的Key,
獲取對應的一組@Configuration類
@ComponentScan
如上,告訴Spring 哪個packages 的用註解標識的類 會被spring自動掃描並且裝入bean容器。
(啓動類最好是放在root package下,因爲默認不指定basePackages。)
6
@Component
@Service
@Repository
@Bean
這幾個註解相信大家都不陌生,出場率太高了都是代表對象的意思,用於被掃描到Ioc 容器中。
7.
可以用來修飾註解,是註解的註解,稱爲元註解。
@Inherited
Inherited作用是,使用此註解聲明出來的自定義註解,在使用此自定義註解時,
如果註解在類上面時,子類會自動繼承此註解,否則的話,子類不會繼承此註解。
@Documented
Documented註解表明這個註釋是由 javadoc記錄的,在默認情況下也有類似的記錄工具。
如果一個類型聲明被註釋了文檔化,它的註釋成爲公共API的一部分。
@Retention
未完待續。。。。。