JBoss Seam: возможно ли ввести в метод @Create? - PullRequest
2 голосов
/ 29 июля 2010

Мне не удается внедрить компонент Seam в метод @Create. Я не могу найти в документации ни одного намека на то, что это невозможно, что позволило бы проверить, ошибаюсь я или нет.

Можно ли вводить внутри @Create?

Ура! * * 1005

1 Ответ

5 голосов
/ 30 июля 2010

Да, вы можете. Это в конструкторе, что вы не можете его использовать.

import org.jboss.seam.Component;
import org.jboss.seam.annotations.*;
import org.jboss.seam.log.Log;

@Name("foo")
@AutoCreate
public class Foo {
    @Logger Log log;
    @In Bar bar;

    @Create
    public void init()  {
        log.info("Init: #0", bar);
        log.info("Init: #0", Component.getInstance("bar"));
    }
}




import org.jboss.seam.annotations.AutoCreate;
import org.jboss.seam.annotations.Name;

@Name("bar")
@AutoCreate
public class Bar { }

И вы правы, видимо в документации по шву это не написано. Но я думаю, что поддержка внедрения - это главная причина, по которой аннотации @Create были созданы.

Иногда нужен простой прототип:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...