国产亚洲精品福利在线无卡一,国产精久久一区二区三区,亚洲精品无码国模,精品久久久久久无码专区不卡

當(dāng)前位置: 首頁(yè) > news >正文

錦州網(wǎng)站建設(shè)哪家好seo策略有哪些

錦州網(wǎng)站建設(shè)哪家好,seo策略有哪些,潛山網(wǎng)站建設(shè)公司哪里有,畢業(yè)設(shè)計(jì)網(wǎng)站做幾個(gè)Bean 標(biāo)注的方法如何創(chuàng)建對(duì)象呢? 參考文章:https://blog.csdn.net/qq_35971258/article/details/128241353 下邊只講一下 Bean 注解標(biāo)注的方法,是如何去進(jìn)行創(chuàng)建 bean,以及流程是怎樣的,如果需要看源碼具體執(zhí)行流程&a…

@Bean 標(biāo)注的方法如何創(chuàng)建對(duì)象呢?

參考文章:https://blog.csdn.net/qq_35971258/article/details/128241353

下邊只講一下 @Bean 注解標(biāo)注的方法,是如何去進(jìn)行創(chuàng)建 bean,以及流程是怎樣的,如果需要看源碼具體執(zhí)行流程,可以查看上邊參考文章

Spring 的 @Bean 標(biāo)注的方法會(huì)被創(chuàng)建成 Bean,這個(gè)創(chuàng)建的過(guò)程在源碼中是怎么執(zhí)行的呢?

@Configuration
public class MyConfiguration {@Beanpublic Blue blue() {System.out.println("創(chuàng)建 Blue 對(duì)象");return new Blue();}}

當(dāng)使用上述代碼時(shí),在 Spring 中掃描到 MyConfiguration 類(lèi)時(shí),會(huì)發(fā)現(xiàn) MyConfiguration 的 BeanDefinition 包含了 FactoryMethod,也就是 Spring 為帶有 @Bean 注解的方法創(chuàng)建了一個(gè) FactoryMethod,這個(gè) FactoryMethod 也就是 blue() 方法,最后通過(guò)執(zhí)行 FactoryMethodblue() 就可以創(chuàng)建出 Blue 對(duì)象,再將 Blue 對(duì)象交給 Spring 進(jìn)行管理,最后創(chuàng)建的 Blue 對(duì)象的 beanName 就是 @Bean 標(biāo)注的方法名

總結(jié)一下:@Bean 標(biāo)注的方法會(huì)是一個(gè) FactoryMethod,最后通過(guò)執(zhí)行這個(gè) FactoryMethod 來(lái)創(chuàng)建 Bean 對(duì)象,beanName 為方法名 {beanName: blud, }

Spring 的 @Bean 標(biāo)注的方法的參數(shù)如何注入的呢?

@Configuration
public class MyConfiguration {@Beanpublic Blue blue(White white) {System.out.println("創(chuàng)建 Blue 對(duì)象");System.out.println("獲取了 White 對(duì)象:" + white);return new Blue();}@Beanpublic White white() {White white = new White();System.out.println("創(chuàng)建的 White 對(duì)象:" + white);return white;}/*** 輸出:* 創(chuàng)建的 White 對(duì)象:com.zqy.springbean.SpringBean.beans.White@32c726ee* 創(chuàng)建 Blue 對(duì)象* 獲取了 White 對(duì)象:com.zqy.springbean.SpringBean.beans.White@32c726ee*/
}

參數(shù)注入流程為:

  1. 對(duì)上邊的 @Bean 方法來(lái)說(shuō),如果方法存在參數(shù),會(huì)先根據(jù)參數(shù)名到 Spring 容器中取出對(duì)應(yīng)的 bean,即先根據(jù) white 取出對(duì)應(yīng)的 bean
  2. 如果根據(jù) white 沒(méi)有取到對(duì)應(yīng)的 bean,就會(huì)根據(jù)對(duì)象的類(lèi)型去取,如果 Spring 容器中,White 類(lèi)型的 Bean 只有 1 個(gè),就會(huì)取出來(lái)進(jìn)行賦值
  3. 但是如果 Spring 容器中 White 類(lèi)型的 Bean 有多個(gè)時(shí),Spring 內(nèi)部就會(huì)進(jìn)行決策判斷,通過(guò)決策判斷出來(lái)需要使用哪個(gè) Bean 進(jìn)行賦值,如果沒(méi)有決策成功,Spring 就會(huì)報(bào)錯(cuò) Parameter 0 of method blue in com.zqy.springbean.SpringBean.MyConfiguration required a single bean, but 2 were found:,即 Spring 根據(jù)類(lèi)型找到了多個(gè) Bean,但是并不知道使用哪一個(gè)!

這個(gè)決策過(guò)程為:

  1. 如果 Spring 找到多個(gè)同類(lèi)型的 Bean,會(huì)查看是否有 Bean 標(biāo)注了 @Primary 注解,如果有,就使用該 Bean 進(jìn)行賦值
  2. 如果沒(méi)有標(biāo)注 @Primary,則會(huì)判斷這幾個(gè) Bean 是否實(shí)現(xiàn)了 @Comparator 排序接口,如果有,就使用該 Bean
  3. 如果都沒(méi)有找到,再根據(jù)入?yún)⒚Q(chēng)和 beanName 進(jìn)行比較,如果相同就使用該 Bean,否則報(bào)錯(cuò)

下面我們對(duì)這幾種情況進(jìn)行代碼演示:

  1. 根據(jù) beanName 找到入?yún)?/p>

    會(huì)發(fā)現(xiàn)根據(jù) beanName 成功找到 bean 對(duì)象,賦值給 blue() 方法的入?yún)?/p>

    @Configuration
    public class MyConfiguration {@Beanpublic Blue blue(White white1) {System.out.println("獲取了 White 對(duì)象:" + white1);return new Blue();}@Beanpublic White white1() {White white = new White();System.out.println("創(chuàng)建的 White1 對(duì)象:" + white);return white;}/*** 輸出:創(chuàng)建的 White1 對(duì)象:com.zqy.springbean.SpringBean.beans.White@2c07545f獲取了 White 對(duì)象:com.zqy.springbean.SpringBean.beans.White@2c07545f*/
    }
    
  2. 如果有多個(gè)同類(lèi)型的 bean,根據(jù) @Primary 找到 Bean 進(jìn)行賦值

    可以發(fā)現(xiàn),入?yún)⒆⑷氲?bean 對(duì)象為攜帶了 @Primary 注解的 bean

    @Configuration
    public class MyConfiguration {@Beanpublic Blue blue(White white) {System.out.println("獲取了 White 對(duì)象:" + white);return new Blue();}@Bean@Primarypublic White white1() {White white = new White();System.out.println("創(chuàng)建的 White1 對(duì)象,攜帶 @Primary 注解:" + white);return white;}@Beanpublic White white2() {White white = new White();System.out.println("創(chuàng)建的 White2 對(duì)象:" + white);return white;}/*** 輸出:創(chuàng)建的 White1 對(duì)象,攜帶 @Primary 注解:com.zqy.springbean.SpringBean.beans.White@2c4d1ac獲取了 White 對(duì)象:com.zqy.springbean.SpringBean.beans.White@2c4d1ac創(chuàng)建的 White2 對(duì)象:com.zqy.springbean.SpringBean.beans.White@7f0d96f2*/
    }
    
  3. 有多個(gè)同類(lèi)型的 bean,根據(jù)入?yún)⒚?/code>和beanName比較進(jìn)行賦值

    可以發(fā)現(xiàn),入?yún)⒚麨?white1 ,White 類(lèi)型的 bean 有兩個(gè),beanName 分別為 white1white2,根據(jù)比較,入?yún)⑹褂?white1 的 bean

    @Configuration
    public class MyConfiguration {@Beanpublic Blue blue(White white1) {System.out.println("獲取了 White 對(duì)象:" + white1);return new Blue();}@Beanpublic White white1() {White white = new White();System.out.println("創(chuàng)建的 White1 對(duì)象:" + white);return white;}@Beanpublic White white2() {White white = new White();System.out.println("創(chuàng)建的 White2 對(duì)象:" + white);return white;}/*** 輸出:創(chuàng)建的 White1 對(duì)象:com.zqy.springbean.SpringBean.beans.White@2c07545f獲取了 White 對(duì)象:com.zqy.springbean.SpringBean.beans.White@2c07545f創(chuàng)建的 White2 對(duì)象:com.zqy.springbean.SpringBean.beans.White@e57b96d*/
    }
    

    ?

http://m.aloenet.com.cn/news/32423.html

相關(guān)文章:

  • 金山建設(shè)機(jī)械網(wǎng)站seo研究中心超逸seo
  • 網(wǎng)站備案后更換主機(jī)網(wǎng)絡(luò)營(yíng)銷(xiāo)的內(nèi)涵
  • php做視頻網(wǎng)站有哪些軟件下載谷歌優(yōu)化的網(wǎng)絡(luò)公司
  • 廣告行業(yè)包括網(wǎng)站建設(shè)嗎搜索seo優(yōu)化
  • 表格上傳網(wǎng)站廣東seo點(diǎn)擊排名軟件哪家好
  • 獵頭做mapping網(wǎng)站推廣軟件的app
  • 溫州網(wǎng)站建設(shè)推廣nba哈登最新消息
  • 完善酒店網(wǎng)站建設(shè)線上推廣策劃方案
  • 大興網(wǎng)站建設(shè)推廣網(wǎng)站seo的方法
  • 做團(tuán)建活動(dòng)網(wǎng)站網(wǎng)站優(yōu)化什么意思
  • 規(guī)模以上工業(yè)企業(yè)名單百度小程序關(guān)鍵詞優(yōu)化
  • 建設(shè)銀行網(wǎng)站不能登錄密碼seo文章是什么
  • 東莞建站模板后臺(tái)百度快照功能
  • php網(wǎng)站后臺(tái)反應(yīng)慢怎么解決推廣網(wǎng)頁(yè)怎么做的
  • 上海網(wǎng)站制作培訓(xùn)分享推廣
  • 浙江網(wǎng)緣科技有限公司seo點(diǎn)擊排名
  • 用uc看不健康的東西會(huì)中病毒嗎seo的中文是什么
  • 廣西專(zhuān)業(yè)做網(wǎng)站的公司磁力搜索引擎
  • 蘭州網(wǎng)站建設(shè)模板google全球推廣
  • 阿里云可以做網(wǎng)站域名備案查詢(xún)站長(zhǎng)工具
  • 天元建設(shè)集團(tuán)有限公司怎么樣鎮(zhèn)江優(yōu)化推廣
  • 凡科網(wǎng)站教程免費(fèi)檢測(cè)網(wǎng)站seo
  • 高端的網(wǎng)站名稱(chēng)在線crm系統(tǒng)
  • 惠州悅商做網(wǎng)站優(yōu)化設(shè)計(jì)方案
  • 做網(wǎng)站賺錢(qián) 知乎騰訊企點(diǎn)客服
  • 網(wǎng)站備案大概需要多久微信最好用的營(yíng)銷(xiāo)軟件
  • 企業(yè)車(chē)輛管理系統(tǒng)平臺(tái)seo軟件代理
  • 機(jī)加工網(wǎng)站南通seo網(wǎng)站優(yōu)化軟件
  • 自適應(yīng)網(wǎng)站推廣sem代運(yùn)營(yíng)公司
  • 怎么自建導(dǎo)購(gòu)網(wǎng)站做淘客正能量網(wǎng)站地址鏈接免費(fèi)