Spring:@Component與@Bean我知道@Component在Spring 2.5中引入了注釋,以便通過使用類路徑掃描來消除xml bean的定義。@Bean是在3.0版本中引入的,可以用來@Configuration完全擺脫xml文件并使用java配置。是否可以重復(fù)使用@Component注釋而不是引入@Bean注釋?我的理解是,最終目標(biāo)是在兩種情況下都創(chuàng)建bean。
3 回答
元芳怎么了
TA貢獻(xiàn)1798條經(jīng)驗(yàn) 獲得超7個(gè)贊
@Component優(yōu)先 用于元件掃描和自動布線。
什么時(shí)候應(yīng)該使用@Bean?
有時(shí)自動配置不是一種選擇。什么時(shí)候?讓我們假設(shè)您想要連接來自第三方庫的組件(您沒有源代碼,因此您無法使用@Component注釋其類),因此無法進(jìn)行自動配置。
所述@Bean注釋返回一個(gè)對象該彈簧應(yīng)在應(yīng)用程序上下文豆注冊。方法的主體承擔(dān)負(fù)責(zé)創(chuàng)建實(shí)例的邏輯。
不負(fù)相思意
TA貢獻(xiàn)1777條經(jīng)驗(yàn) 獲得超10個(gè)贊
讓我們考慮一下我需要具體的實(shí)現(xiàn),具體取決于一些動態(tài)狀態(tài)。 @Bean對于那種情況是完美的。
@Bean@Scope("prototype")public SomeService someService() {
switch (state) {
case 1:
return new Impl1();
case 2:
return new Impl2();
case 3:
return new Impl3();
default:
return new Impl();
}}然而,沒有辦法做到這一點(diǎn)@Component。
添加回答
舉報(bào)
0/150
提交
取消
