成員變量注入
為什么在OrderServiceImpl中注入成員變量@Inject private PaymentService paymentService; 中不需要像在OrderServiceTest中@Inject private OrderService orderService; 中需要添加@Before public void setup(){};呢,這里為什么不會(huì)報(bào)空指針錯(cuò)誤?
謝謝!
為什么在OrderServiceImpl中注入成員變量@Inject private PaymentService paymentService; 中不需要像在OrderServiceTest中@Inject private OrderService orderService; 中需要添加@Before public void setup(){};呢,這里為什么不會(huì)報(bào)空指針錯(cuò)誤?
謝謝!
2018-07-04
舉報(bào)
2018-07-07
這個(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里面的配置去找。