繁体   English   中英

AndroidAnnotations和Dagger 2

[英]AndroidAnnotations and Dagger 2

我正在阅读有关依赖注入的内容,并发现了2个引起我注意的库,AndroidAnnotations和Dagger 2.我看到AA有许多功能,包括DI,但大多数开发人员都使用Dagger 2进行DI。

我想知道DI与AA和DI与Dagger 2之间的差异是什么? 如果我使用AA,这意味着我不需要Dagger 2?

对于带有AA的DI和与其他库的比较,我找不到太多信息。

任何信息都会有所帮助。

我不认为AA和Dagger可以比较。

Dagger是一个通用依赖注入库,具有许多功能。 它也被设计为在Android上运行,但它不需要Android,它可以应用于纯Java项目。 它具有许多依赖注入功能,可用于完全基于代码生成的依赖注入器。

AndroidAnnotations是一个基于注释的Android框架。 它确实有一个有限的依赖注入模块(它只是AA的一小部分),但这不是它的主要特征。 它为Android的许多东西添加了基于注释的样板去除API,它们在每个项目中使用,通常需要大量不必要的代码,如视图和资源注入,事件处理,实例状态恢复,线程等。您可以在这里查看AA的所有用例。

Dagger和AA 可以共存 ,实际上使用Dagger的复杂dep注入和AA的许多功能(我在所有项目中都这样做)确实很有意义。

免责声明:我是AndroidAnnotations开发人员。

最近我通过实现Dagger 2和Android架构组件(Room和Viewmodel)创建了一个示例应用程序,它可以帮助您使用dagger库和MVVM体系结构来理解依赖注入。

这是github项目链接

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM