设为首页 加入收藏

TOP

Dagger2 神器入门(三)(二)
2017-09-30 17:17:40 】 浏览:2311
Tags:Dagger2 神器 入门
eather = leather; Log.d(Config.TAG,"new Seat(Leather)"); } }

可以看到,我们在原有的基础之上增加了一个构造器Seat(leather), 而该构造器是存在依赖参数的。而我们需要在@Inject的时候就能自动调用该构造器,怎么办? 在之前讲到的提供依赖Module类修改

@Provides
public Seat provideSeat(Leather leather){
    return new Seat(leather);
}

仅仅这样是不行的,因为Module去寻找依赖Leather的时候会找不到对应对象,还需要添加

@Provides
public Leather provideLeather(){
    return new Leather();
}

这样在执行provideSeat() 时,能够找到相应的Leather();
那么我们run下,先猜猜在

 @Inject
 Seat seat;

这个中如何执行的?

07-07 01:00:41.035 8144-8144/com.bae.basicandext D/TAG: new Engine()
07-07 01:00:41.035 8144-8144/com.bae.basicandext D/TAG: new Leather()
07-07 01:00:41.035 8144-8144/com.bae.basicandext D/TAG: new Seat(Leather)
07-07 01:00:41.035 8144-8144/com.bae.basicandext D/TAG: new Wheel()
07-07 01:00:41.035 8144-8144/com.bae.basicandext D/TAG: new Car()

很明了了,它能够自动找到Leather依赖。其实关键的关键还是在Module类中。

讲到这里,相信大家对Dagger2有一个初步认识,并且结合相关Api文档能够达到入门的目的了。接下来会一起学习一些其他Dagger2注解,期待吧…

首页 上一页 1 2 下一页 尾页 2/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇关于 NIO 你不得不知道的一些“地.. 下一篇Dagger2 神器入门(四)

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目