慕仔7109905
2018-07-04 15:00
为什么在OrderServiceImpl中注入成员变量@Inject private PaymentService paymentService; 中不需要像在OrderServiceTest中@Inject private OrderService orderService; 中需要添加@Before public void setup(){};呢,这里为什么不会报空指针错误?
谢谢!
这个两个@Inject是有区别的:1. Test 就像是客户端去用这些Injections,所以首先得像老师原来在App.java的main函数里面那样初始化Guice的Module,这样Guice才能知道哪个interface绑定的是那个实现class. 2. @Inject private PaymentService paymentService 这种写法跟contractor注入是一样的,就是一个标准,让Guice知道这里是注入,让Guice通过第一步Module里面的配置去找。
使用Google Guice实现依赖注入
10135 学习 · 13 问题
相似问题