SpringBoot自動(dòng)裝配原理詳細(xì)解析
@Bean主要在@Configuration中,通過方法進(jìn)行注入相關(guān)的Bean,@Compoent與@Service歸為一類,在類上加注入對(duì)應(yīng)的類,需要的朋友可以參考下
1.@SpringBootApplication注解理解
一個(gè)對(duì)象交給Spring來管理的三種方式 @Bean @Compoment @Import
@Bean主要在@Configuration中,通過方法進(jìn)行注入相關(guān)的Bean
@Compoent與@Service歸為一類,在類上加注入對(duì)應(yīng)的類
@Import注解只有一value方法,注釋中指名該注解必須作用在@Configuration定義的類上,Value可以為想要交割Spring管理的類文件數(shù)組 Impor

2.查看創(chuàng)建Bean的個(gè)數(shù),以及展示
查看展示個(gè)數(shù)
ConfigurableApplicationContext context = SpringApplication.run(PaymentMain8001.class, args); int counts = context.getBeanDefinitionCount(); System.out.println(counts);
查看IOC中所有的Bean
ConfigurableApplicationContext context = SpringApplication.run(PaymentMain8001.class, args); ConfigurableListableBeanFactory beanFactory = context.getBeanFactory(); beanFactory.getBeanNamesIterator().forEachRemaining(System.out::println);
3.條件化配置注解
在自動(dòng)配置類上有一些ConditionXxxx注解嗎,該注解的作用進(jìn)行條件化的選擇
| 注解 | 作用 |
| @ConditionalOnBean | 如果存在某個(gè)Bean, 配置類生效 |
| @ConditionalOnMissingBean | 如果不存在某個(gè)Bean, 配置類生效 |
| @ConditionalOnClass | 如果存在某個(gè)類, 配置類生效 |
| @ConditionalOnMissingClass | 如果不存在某個(gè)類, 配置類生效 |
| @ConditionalOnProperty | 如果存在某個(gè)屬性配置, 配置類生效 |
| @ConditionalOnWebApplication | 如果是一個(gè)web應(yīng)用, 配置類生效 |
| @ConditionalOnNotWebApplication | 如果不是一個(gè)web應(yīng)用, 配置類生效 |
相關(guān)舉例WebMvcAutoconfiguration

視圖解析器

4.SpringBootApplication.run()的理解






舉例:存在對(duì)應(yīng)的配置文件


到此這篇關(guān)于SpringBoot自動(dòng)裝配原理詳細(xì)解析的文章就介紹到這了,更多相關(guān)SpringBoot自動(dòng)裝配內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Springboot接收?Form?表單數(shù)據(jù)的示例詳解
這篇文章主要介紹了Springboot接收?Form?表單數(shù)據(jù)的實(shí)例代碼,本文通過圖文實(shí)例代碼相結(jié)合給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-08-08
DecimalFormat數(shù)字格式化 0和# 的區(qū)別及說明
這篇文章主要介紹了DecimalFormat數(shù)字格式化 0和# 的區(qū)別及說明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-10-10
SpringBoot使用Atomikos技術(shù)整合多數(shù)據(jù)源的實(shí)現(xiàn)
這篇文章主要介紹了SpringBoot使用Atomikos技術(shù)整合多數(shù)據(jù)源的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-03-03
Java實(shí)現(xiàn)文件分割和文件合并實(shí)例
本篇文章主要介紹了Java實(shí)現(xiàn)文件分割和文件合并實(shí)例,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-08-08
Java ThreadLocal類應(yīng)用實(shí)戰(zhàn)案例分析
這篇文章主要介紹了Java ThreadLocal類應(yīng)用,結(jié)合具體案例形式分析了java ThreadLocal類的功能、原理、用法及相關(guān)操作注意事項(xiàng),需要的朋友可以參考下2019-09-09

