在我的代码中,在模块包中,我使用Google guice包中的@Provides进行绑定。这是我的工作代码。
但是我想使用bind而不是@provides优化我的代码。我尝试了各种方法,但是得到了不同的例外。有人可以建议我解决方案吗?谢谢
@Provides
@Singleton
@Named(MY_CONSTANT)
public myobjectRepository myobjectRepository(final DatabaseRepository<ObjectDAO> objectDAODatabaseRepository,final DefaultmyobjectDAOTranslator defaultmyobjectDAOTranslator) {
return new DynamoDBMyRepository(myDAODatabaseRepository,defaultMyDAOTranslator);
}
@Provides
@Singleton
public DatabaseRepository<myobjectDAO> myobjectDAODatabaseRepository(final DAOWriter<myobjectDAO> daoWriter,final DAORetriever<myobjectDAO> daoRetriever) {
return new DynamoDBRepository<>(daoWriter,daoRetriever);
}
@Provides
@Singleton
public DAOWriter daoWriter(final IDynamoDBMapper dynamoDBMapper) {
return new DAOWriter(dynamoDBMapper);
}
@Provides
@Singleton
public DAORetriever<myobjectDAO> myobjectDAORetriever(final IDynamoDBMapper dynamoDBMapper) {
return new DAORetriever<>(dynamoDBMapper,myobjectDAO.class);
}