第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

通過(guò)方法調(diào)用與新運(yùn)算符獲取 Spring bean

通過(guò)方法調(diào)用與新運(yùn)算符獲取 Spring bean

HUX布斯 2022-06-04 10:41:08
我對(duì)這個(gè)小話題感到困惑。我在某處讀到,如果一個(gè)類(lèi)用 注釋@Component,它是 spring 管理的 bean,每當(dāng)需要時(shí),spring 都會(huì)提供它。我將它與 bean 的范圍混淆了。讓我解釋?zhuān)罕确秸f(shuō)一堂課@Componentpublic class Example{ }如果我在其他類(lèi)中使用 實(shí)例化這個(gè)類(lèi)new Example(),容器會(huì)一直為我提供相同的 Example 對(duì)象嗎?還是每次都會(huì)返回我新的對(duì)象?這是令人困惑的部分:如果在同一個(gè)班級(jí)我有兩個(gè)這樣的豆子:@Componentpublic class Example {    @Bean DataSource sqlDataSource() {         // some logic    }    @Bean @Scope("prototype") SomeObject getSomeObject() {         return new SomeObject(sqlDataSource()); //**    }}在這種情況下會(huì)發(fā)生什么?每次請(qǐng)求 SomeObject bean 時(shí),sqlDataSource() 方法調(diào)用都會(huì)一次又一次地返回相同的對(duì)象,還是每次請(qǐng)求 SomeObject 時(shí)都會(huì)返回新的 DataSource 實(shí)例?請(qǐng)幫忙。
查看完整描述

2 回答

?
天涯盡頭無(wú)女友

TA貢獻(xiàn)1831條經(jīng)驗(yàn) 獲得超9個(gè)贊

是一個(gè)方法級(jí)別的注解,指示 Spring 在調(diào)用該方法時(shí)創(chuàng)建一個(gè) bean。這意味著具有與 XML 配置中的標(biāo)記相同的功能。

這個(gè)注解必須在 @Configuration 注解的類(lèi)中使用,否則如果你從另一個(gè)方法調(diào)用該方法,它將是一個(gè)普通的 java new 操作,而不是 spring 的。請(qǐng)參閱這篇文章-> @Bean inside class with @Configuration and witout

牢記這一點(diǎn) new SomeObject(sqlDataSource()); 將等于 new SomeObject(new SqlDataSource());

如果您使用 @Configuration 注釋 Example 將會(huì)發(fā)生的是,您將始終獲得一個(gè)具有相同 sqlDataSource 對(duì)象的新 SomeObject 實(shí)例,這意味著 Spring 將只創(chuàng)建一個(gè) sqlDataSource 因?yàn)樗菃卫摹?/p>


查看完整回答
反對(duì) 回復(fù) 2022-06-04
?
POPMUISE

TA貢獻(xiàn)1765條經(jīng)驗(yàn) 獲得超5個(gè)贊

@Bean DataSource sqlDataSource() {

     // some logic

}

這定義了 DataSource 的單例實(shí)例。因此,每次您請(qǐng)求 SomeObject 的實(shí)例時(shí),都會(huì)創(chuàng)建一個(gè)新的 SomeObject(雖然它是在原型范圍內(nèi)定義的),但它們都將共享相同的 DataSource 對(duì)象(因?yàn)樗且粋€(gè)單例 bean)。


查看完整回答
反對(duì) 回復(fù) 2022-06-04
  • 2 回答
  • 0 關(guān)注
  • 104 瀏覽
慕課專(zhuān)欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)