最新回答 / 慕后端8545811
抽象可以使用接口來表示,具體就是具體的實(shí)現(xiàn)類。configuration的作用就是把具體的實(shí)現(xiàn)類和接口綁定起來。
2021-08-27
最新回答 / 輕風(fēng)融雪
這個兩個@Inject是有區(qū)別的:1. Test 就像是客戶端去用這些Injections,所以首先得像老師原來在App.java的main函數(shù)里面那樣初始化Guice的Module,這樣Guice才能知道哪個interface綁定的是那個實(shí)現(xiàn)class. 2.?@Inject private PaymentService paymentService 這種寫法跟contractor注入是一樣的,就是一個標(biāo)準(zhǔn),讓Guice知道這里是注入,讓Guice通過第一步Module里面的配置去找。
2018-07-04
最贊回答 / 南國漂泊
我覺得如果要自動化: 就只使用 spring ,不要混入 Guice。老師最后的總結(jié)中也說了這個問題,spring項(xiàng)目的話就使用spring的注入就好了,沒必要引入Guice,但是有可能你引用別人的項(xiàng)目,別人使用的是Guice,這時就要用到老師課程中的混合啦。剛開始看第7章,看到那么多的 @Bean ,頭都大了。 但是,看到后面就沒那多多了(好像只剩下兩個了,有一個是引入`com.google.inject.Injector`的,這個應(yīng)該是必須的)。 后面都重構(gòu)了的。你可以下載源碼看下。不然每一個guic...
2018-07-02
講師回答 / ccmouse
首先非常謝謝同學(xué)的肯定。運(yùn)行時的話,Inject一個Injector,然后通過Injector來getInstance。在與spring協(xié)作這里就是這么用的。一個module需要另一個module的話,用install,然后就可以inject別人綁定的實(shí)例了。當(dāng)然如果有重復(fù)綁定,需要用Modules.override。
2018-01-10
已采納回答 / ccmouse
這不好。Guice Injector和Spring ApplicationContext一樣,本身都被設(shè)計成singleton,有很多狀態(tài)需要管理。還是不要挑戰(zhàn)這種違背設(shè)計意圖的事情比較好。
2017-11-11