成員變量注入
為什么在OrderServiceImpl中注入成員變量@Inject private PaymentService paymentService; 中不需要像在OrderServiceTest中@Inject private OrderService orderService; 中需要添加@Before public void setup(){};呢,這里為什么不會報空指針錯誤?
謝謝!
為什么在OrderServiceImpl中注入成員變量@Inject private PaymentService paymentService; 中不需要像在OrderServiceTest中@Inject private OrderService orderService; 中需要添加@Before public void setup(){};呢,這里為什么不會報空指針錯誤?
謝謝!
2018-07-04
舉報
2018-07-07
這個兩個@Inject是有區別的:1. Test 就像是客戶端去用這些Injections,所以首先得像老師原來在App.java的main函數里面那樣初始化Guice的Module,這樣Guice才能知道哪個interface綁定的是那個實現class. 2.?@Inject private PaymentService paymentService 這種寫法跟contractor注入是一樣的,就是一個標準,讓Guice知道這里是注入,讓Guice通過第一步Module里面的配置去找。