新聞中心
這期內(nèi)容當(dāng)中小編將會給大家?guī)碛嘘P(guān)SpringBoot怎樣做到自動幫我們創(chuàng)建RabbitMQ的Queue和Exchange的,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
保康網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)建站!從網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、響應(yīng)式網(wǎng)站建設(shè)等網(wǎng)站項目制作,到程序開發(fā),運(yùn)營維護(hù)。創(chuàng)新互聯(lián)建站于2013年成立到現(xiàn)在10年的時間,我們擁有了豐富的建站經(jīng)驗和運(yùn)維經(jīng)驗,來保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)建站。
如果要在SpringBoot項目中查看SpringBoot幫我們做的自動配置,很簡單,搜索XXXAutoConfiguration即可。
如:
RabbitAutoConfiguration
,redisAutoConfiguration
等進(jìn)入
RabbitAutoConfiguration
類解釋:當(dāng)classpath中存在
RabbitTemplate.class, Channel.class
這兩個類時(即在項目中引入了RabbitMQ相關(guān)的依賴),當(dāng)前配置配置類會生效。在該配置類內(nèi)定義的Bean也隨之生效。查看在當(dāng)前配置類中注冊了哪些bean,其中有一個為
RabbitAdmin
解釋:并且該Bean在未配置
spring.rabbitmq.dynamic
時也默認(rèn)生效。進(jìn)入這個類,查看在這個bean在創(chuàng)建的過程中進(jìn)行了哪些操作。
解釋:可以看到,該類實現(xiàn)了
InitializingBean
接口,那么繼續(xù)查看在afterPropertiesSet()
方法中進(jìn)行了哪些操作。
解釋:在連接工廠connectionFactory
中注冊了一個監(jiān)聽器,在監(jiān)聽器中執(zhí)行了initialize()
方法。
查看 initialize()
方法。
解釋:可以明顯看到就是通過applicationContext.getBeansOfType(XXX.class)
方法獲取容器中所有類型為Queue
, Exchange
和Binding
的bean,并根據(jù)這些bean的信息來幫我們在RabbitMQ創(chuàng)建隊列,交換機(jī)和綁定關(guān)系。
進(jìn)入任意一個方法,如 declareExchanges()
解釋:可以看到,最終還是調(diào)用的channel.exchangeDeclare()
,與我們手動調(diào)用創(chuàng)建的效果一致。
這是一種寫代碼的思路,平時可以借鑒一下。
上述就是小編為大家分享的SpringBoot怎樣做到自動幫我們創(chuàng)建RabbitMQ的Queue和Exchange的了,如果剛好有類似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。
分享題目:SpringBoot怎樣做到自動幫我們創(chuàng)建RabbitMQ的Queue和Exchange的
網(wǎng)頁網(wǎng)址:http://www.ef60e0e.cn/article/gedjpj.html