成员变量注入

来源:3-2 注入(下)

慕仔7109905

2018-07-04 15:00

为什么在OrderServiceImpl中注入成员变量@Inject private PaymentService paymentService; 中不需要像在OrderServiceTest中@Inject private OrderService orderService; 中需要添加@Before public void setup(){};呢,这里为什么不会报空指针错误?

谢谢!

写回答 关注

1回答

  • 轻风融雪
    2018-07-07 15:30:11

    这个两个@Inject是有区别的:1. Test 就像是客户端去用这些Injections,所以首先得像老师原来在App.java的main函数里面那样初始化Guice的Module,这样Guice才能知道哪个interface绑定的是那个实现class. 2. @Inject private PaymentService paymentService 这种写法跟contractor注入是一样的,就是一个标准,让Guice知道这里是注入,让Guice通过第一步Module里面的配置去找。

使用Google Guice实现依赖注入

谷歌大神带你重新理解依赖注入,示范Guice和Spring Boot如何协作

10135 学习 · 13 问题

查看课程

相似问题