美文网首页
Android 依赖注入Dagger2 使用 之 初体验

Android 依赖注入Dagger2 使用 之 初体验

作者: 948d307d6ecf | 来源:发表于2016-10-15 16:48 被阅读0次

关于dagger2的使用,很多人都介绍过了,本人也看了很多博客,感觉比较好的是大牛“牛晓伟”的如下三部曲:

Android:dagger2让你爱不释手-基础依赖注入框架篇

Android:dagger2让你爱不释手-重点概念讲解、融合篇

Android:dagger2让你爱不释手-终结篇

看完后让我豁然开朗,让我有如下感受:

- 了解了各个注解的含义以及在什么场景下应用

- 暂时明白了使用dagger的好处,虽然没感受到

如是我斗志昂扬雄心满满地就开始了我的第一次尝试,如下有了如下代码:

测试代码1:TestA

TestA.java

测试代码2:TestB依赖TestA

TestB.java

测试代码 3:MainActivity依赖TestB

MainActivity.java

测试代码4:component链接MainActivity和TestB的桥梁

TestComponent.java

编译一次,生成DaggerTestComponent后修改MainActivity里面的代码,将MainActivity依赖的注入,如是就有了下面的代码:

MainActivity.java添加依赖注入后

如是便开始运行,期待着TestA中的doSomething输出,但是结果却大相径庭,程序crash了,说MainActivity中testB是null,我就纳闷了,看别人不就是这么写的嘛,然后就各种网上各种搜、群里各种搜、向大牛请教等等,由于是周六,没人回复,等了很久微信群里有人回答了我,让我把TestB中依赖的TestA改成通过构造函数传入试试,当时就觉得不是TestB中carsh,而是MainActivity里面crash,说明是MainActivity里面注入没注入成功,跟这个应该没多大关系,但是心里虽是这么想,但是还是得尝试着改下,如是就将TestB改成如下的样子了:

TestB.java改成构造方法参数传入后

再次运行,竟然成功了,好欣喜、好激动!!!但是让我很纳闷。。。为啥我那样写不行???

通过生成的DaggerTestComponent,查看生成的方法,让我明白了,每个依赖注解,得让dagger知道怎么生成该依赖,于是我再次修改:

 添加TestB的注入接口

TestComponent.java添加TestB依赖注入接口后

在TestB中添加注入方法

TestB.java添加依赖注入后

再次运行,依然是成功的,于是简单得出如下结论:

使用@inject注解依赖的属性后,需要通过Dagger强制注入才能成功!

相关文章

  • Using Dagger2 in Android

    Dagger2是一个Java和Android的依赖注入框架.本文介绍Android中dagger2的基本使用.其中...

  • Dagger2

    标签(空格分隔):Android 什么是依赖注入——博客 博客 就是依赖抽象使用使用Dagger2——博客博客博客...

  • 更清晰的Dagger2 + MVP 架构

    Dagger2 与 MVP Dagger2是Google提供的依赖注入框架,依赖注入为Android中组件之间的解...

  • [转]Dagger2 入门,以初学者角度

    原文地址Dagger2 入门,以初学者角度 依赖注入 Dagger2是Android中比较热门的依赖注入框架,什么...

  • 依赖注入之Dagger2初探

    Dagger2 Dagger2是Google提供的依赖注入框架,依赖注入为Android中组件之间的解耦提供了很好...

  • Android 依赖注入Dagger2 使用 之 初体验

    关于dagger2的使用,很多人都介绍过了,本人也看了很多博客,感觉比较好的是大牛“牛晓伟”的如下三部曲: And...

  • 三篇关于dagger2非常好的文章

    dagger2是解决Android或java中依赖注入的一个类库(DI类库) dagger2:基础依赖注入框架篇 ...

  • Dagger2最简单入门

    什么是Dagger2 Dagger2是Android上的一个依赖注入框架,那么什么是依赖注入,通俗一点来说就是我们...

  • Dagger2的理解和使用

    Android:dagger2让你爱不释手-基础依赖注入框架篇Android:dagger2让你爱不释手-重点概念...

  • Dagger2 介绍

    依赖注入 为了理解dagger2在android中的应用,我们需要先理解为什么需要依赖注入。 为什么我们需要依赖注...

网友评论

      本文标题:Android 依赖注入Dagger2 使用 之 初体验

      本文链接:https://www.haomeiwen.com/subject/opojlttx.html