Nie wydaje mi się, że mogę wstrzyknąć szewkomponent wewnątrz metody @Create. Nie mogę znaleźć w dokumentacji żadnej wskazówki, że nie jest to możliwe, która zweryfikowałaby, czy popełniam błąd, czy nie.
Czy można wstrzykiwać do @Create?
Twoje zdrowie!
Odpowiedzi:
5 dla odpowiedzi № 1Tak, możesz. W konstruktorze nie można go używać.
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 { }
I masz rację, najwyraźniej w dokumentacja szwów nie jest napisane. Myślę jednak, że wspomaganie zastrzyków jest głównym powodem, dla którego utworzono adnotacje @Create.
Czasem potrzebny jest prosty prototyp :)