Метод инъекций в петрушке
Можно ли внедрить метод, используя каркас петрушки в гибком приложении?
Я могу внедрить сам класс, но возможно ли ввести метод.
1 ответ
Вы можете разместить теги метаданных [Inject] в любом количестве методов:
package com.bookstore.actions
{
class LoginAction
{
private var service:LoginService;
private var manager:UserManager;
[Inject]
public function init (service:LoginService, manager:UserManager = null) : void
{
this.service = service;
this.manager = manager;
}
}
}
Как и в случае с Constructor Injection, Parsley распознает, является ли параметр метода необязательным или нет, и соответственно обрабатывает зависимость как необязательную или обязательную. Инъецируемый объект будет выбран по типу, поэтому вы должны убедиться, что в вашу конфигурацию включен не более одного объекта с подходящим типом. Для инъекции метода нет ограничений на конфигурацию MXML, поэтому в отличие от инжектора конструктора вы также можете использовать простые теги MXML для добавления объектов в контейнер.
Рекомендации