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