#286·dagger

将类列为入口点不应通过 @Inject 进行实例化

作者: ghost创建于 2013年6月20日更新于 2015年12月27日
标签enhancement

当您将一个类列为模块的注入参数中的入口点时,dagger 会允许您将其 @Inject 到其他类中。但是,如果您能够安全地这样做,那么您可能会为其构造函数添加注解,或者为其构建一个提供者方法。 目前,我们的 Android 应用程序已经生成了 getApplication() 方法,如果我们犯了错误调用这些方法,就会造成严重的后果 - 例如浪费一天的时间来追踪一些测试代码引起的隐蔽错误,而这些代码本该只是这么做的。 我们不应该生成这些方法,尝试 @Inject 这样的类应该尽快失败。