жаль, что я новичок в Android Annotations и Dependency Injection в целом. Я пытаюсь понять, как все работает и какие преимущества я получаю с помощью аннотаций Android.
Я изучил примеры примеров, все ясно о @EActivity, @ViewById, @App
и других широко используемых аннотациях в Android-разработке.
У меня проблемы с пониманием понятия Ebean
. Я использовал spring для Java, совершенно ясно, что мы объявляем beans в xml файле и просто используем их внутри кода таким образом, чтобы мы могли легко изменить внутри xml файла только для конкретной реализации, и он будет изменен везде где мы использовали bean по идентификатору от AppContext
.
Но я не понимаю цели использования beans в случае аннотаций Android, возможно, я вообще не понимаю DI.
@EBean
public class MyClass {
// ...
}
@EActivity
public class MyActivity extends Activity {
@Bean
MyClass myClass;
}
Какое преимущество у нас здесь? Мы омминг только линии
myClass = new MyClass();
?
И все?
Другим примером является область Singletone.
@EBean(scope = Scope.Singleton)
public class MyClass {
// ...
}
В этом случае мы получаем некоторую выгоду, нам не нужно создавать экземпляр private private, частный конструктор и проверять, является ли он нулевой (ленивая инициализация).....
В этом случае я понимаю, что это может сэкономить время, но в первом примере у меня нет никаких преимуществ для меня, у нас нет файла xml, где мы можем строить наши зависимости bean между beans только аннотациями. < ш > Пожалуйста, помогите мне понять это. Спасибо всем заранее.