我有几个需要注入的类,例如我有一个名为APIContentLoader的类,用于从端点下载JSON并将其存储到数据库中。我想将我自己创建的DatabaseManager类注入到APIContentLoader中,以便读写数据库。为了将DatabaseManager注入到这个类中,我首先需要引用ApplicationContext,对吗?
目前我的设置如下:
目前我的设置如下:
public class APIContentLoader{
@Inject DatabaseManager dbm;
@Inject BaseApplication app;
public APIContentLoader(){
app.getAppComponent().inject(this);
// dbm now is ready for use
}
... // rest of class stuff
}
我的BaseApplication类扩展了标准的Application类。以这种方式将BaseApplication引用注入到此类中是否是一种不好的做法?我知道静态引用ApplicationContext不是使其可用于这些非活动类的好方法。
我想重要的问题是,这种方法是否存在与静态引用相同的内存管理和持久化这些辅助类的生命周期的问题?
APIContentLoader
真的只是像这里展示的那样扩展了Object
,还是它实际上是一个Loader
? - Kevin Krumwiede