@Bean主要在@Configuration中,通過(guò)方法進(jìn)行注入相關(guān)的Bean,@Compoent與@Service歸為一類,在類上加注入對(duì)應(yīng)的類,需要的朋友可以參考下" />

亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

SpringBoot自動(dòng)裝配原理詳細(xì)解析

 更新時(shí)間:2024年01月19日 09:35:10   作者:景慶197  
這篇文章主要介紹了SpringBoot自動(dòng)裝配原理詳細(xì)解析,一個(gè)對(duì)象交給Spring來(lái)管理的三種方式 @Bean @Compoment @Import,
@Bean主要在@Configuration中,通過(guò)方法進(jìn)行注入相關(guān)的Bean,@Compoent與@Service歸為一類,在類上加注入對(duì)應(yīng)的類,需要的朋友可以參考下

1.@SpringBootApplication注解理解

一個(gè)對(duì)象交給Spring來(lái)管理的三種方式 @Bean @Compoment @Import  

@Bean主要在@Configuration中,通過(guò)方法進(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項(xiàng)目帶Tomcat和不帶Tomcat的兩種打包方式

    詳解springboot項(xiàng)目帶Tomcat和不帶Tomcat的兩種打包方式

    這篇文章主要介紹了詳解springboot項(xiàng)目帶Tomcat和不帶Tomcat的兩種打包方式,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09
  • Spring Boot開(kāi)發(fā)Web應(yīng)用詳解

    Spring Boot開(kāi)發(fā)Web應(yīng)用詳解

    這篇文章主要介紹了Spring Boot開(kāi)發(fā)Web應(yīng)用詳解,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-04-04
  • gradle和maven有哪些區(qū)別

    gradle和maven有哪些區(qū)別

    這篇文章主要介紹了gradle和maven有哪些區(qū)別,幫助大家更好的理解和選擇java程序的構(gòu)建工具,感興趣的朋友可以了解下
    2021-01-01
  • 淺談MyBatis 如何執(zhí)行一條 SQL語(yǔ)句

    淺談MyBatis 如何執(zhí)行一條 SQL語(yǔ)句

    Mybatis 是 Java 開(kāi)發(fā)中比較常用的 ORM 框架。在日常工作中,我們都是直接通過(guò) Spring Boot 自動(dòng)配置,并直接使用,但是卻不知道 Mybatis 是如何執(zhí)行一條 SQL 語(yǔ)句的,下面就一起講解一下
    2021-05-05
  • Java編程中線程池的基本概念和使用

    Java編程中線程池的基本概念和使用

    這篇文章主要介紹了Java編程中線程池的基本概念和使用,多線程編程是使Java程序?qū)崿F(xiàn)并發(fā)的一個(gè)重要手段,需要的朋友可以參考下
    2015-11-11
  • 詳解Spring中Bean的加載的方法

    詳解Spring中Bean的加載的方法

    本篇文章主要介紹了Spring中Bean的加載的方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-04-04
  • Spring數(shù)據(jù)源及配置文件數(shù)據(jù)加密實(shí)現(xiàn)過(guò)程詳解

    Spring數(shù)據(jù)源及配置文件數(shù)據(jù)加密實(shí)現(xiàn)過(guò)程詳解

    這篇文章主要介紹了Spring數(shù)據(jù)源及配置文件數(shù)據(jù)加密實(shí)現(xiàn)過(guò)程詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-05-05
  • 簡(jiǎn)單的用java實(shí)現(xiàn)讀/寫文本文件的示例

    簡(jiǎn)單的用java實(shí)現(xiàn)讀/寫文本文件的示例

    同時(shí)也展示了如果從輸入流中讀出來(lái)內(nèi)容寫入輸出流中(僅限文本流) 三個(gè)例子可以獨(dú)立存在,所以根據(jù)需要只看其中一個(gè)就行了。
    2008-07-07
  • 解決java main函數(shù)中的args數(shù)組傳值問(wèn)題

    解決java main函數(shù)中的args數(shù)組傳值問(wèn)題

    這篇文章主要介紹了解決java main函數(shù)中的args數(shù)組傳值問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2021-02-02
  • 詳解Maven多模塊打包遇到的問(wèn)題解決方法

    詳解Maven多模塊打包遇到的問(wèn)題解決方法

    這篇文章主要介紹了詳解Maven多模塊打包遇到的問(wèn)題解決方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09

最新評(píng)論