亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

關于Component有一點疑問

給我的感覺,@Component可以代替之前xml上定義的beanid ,讓super.getBean()。?

那么在只BeanInvoker上定義了就行了啊。

為什么@Component , 除了在BeanInvoker定義,還要在接口的實現類上都定義了?

而我測試發現, 不能不定義, 否則就報錯。


正在回答

1 回答

@Component注解的Target是類,接口是不能實例化的。注解在接口上沒有意義。就如xml定義beanid后,beanid對應的實例化的類一定是實現類而不是接口。兩者是同理的。

0 回復 有任何疑惑可以回復我~
#1

風中過客 提問者

這個知道 , 但是 這里 視頻是通過getBean得到的 BeanInvoker , 讓 beanInvoke去調用 那個實現類的方法。 所以 我認為 只在BeanInvoker上@Component就夠了。。。
2016-02-23 回復 有任何疑惑可以回復我~
#2

河邊的大巫 回復 風中過客 提問者

且不說實現接口不是繼承關系,即使是繼承關系,@Componet注解在父類也是不能被子類繼承的。 另外,你說的讓beanInvoker去調用那個實現類的方法,這個說法是有問題的。視頻中通過getBean得到不是你所說的接口BeanInvoker,而是得到一個實現了BeanInvoker接口的實現類的實例。 你可能需要復習一下java面對對象的有關內容,就發現這個問題不難理解了。
2016-02-24 回復 有任何疑惑可以回復我~
#3

Massami 回復 風中過客 提問者

如果只注解BeanInvoker的話,其他的不注解。相當于在xml文件中只配置了BeanInvoker而其他的沒有配置,在使用接口實現類的方法時,連實現類的實例都沒有,還怎么調用他的方法呢?
2016-07-26 回復 有任何疑惑可以回復我~
#4

風中過客 提問者 回復 Massami

就是只配置了bean, 沒有裝配屬性。 為那兩個實現類注解Component可以讓其成為bean,再讓 beanInoker中的@autowired將其裝配到自己的屬性中。
2016-07-29 回復 有任何疑惑可以回復我~
查看1條回復

舉報

0/150
提交
取消

關于Component有一點疑問

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號