Java JBoss Seam:注入@Create方法可能吗?

Java JBoss Seam:注入@Create方法可能吗?,java,seam,code-injection,bijection,Java,Seam,Code Injection,Bijection,我似乎无法在@Create方法中注入Seam组件。我在文档中找不到任何暗示这是不可能的,这将验证我是否犯了错误 是否可以在@Create内注入 干杯 是的,你可以。在构造函数中不能使用它 import org.jboss.seam.Component; import org.jboss.seam.annotations.*; import org.jboss.seam.log.Log; @Name("foo") @AutoCreate public class Foo { @Logge

我似乎无法在@Create方法中注入Seam组件。我在文档中找不到任何暗示这是不可能的,这将验证我是否犯了错误

是否可以在@Create内注入


干杯

是的,你可以。在构造函数中不能使用它

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注释的主要原因

有时,您需要一个简单的原型:)

另一个未记录的警告:确保用
@Create
注释的方法不是
final
。如果您有
private
属性和其他内容,则该关键字可能会导致不一致。完全避免。