@Inject每次使用它时都会注入一个新实例

时间:2012-03-07 23:27:19

标签: java jsf cdi

我有以下问题。 (jboss 7.1 as,jsf 2和myFaces扩展过滤器)

两个托管bean。 (我已经清理了代码)。我想从NextBean中检索LoginBean。问题是每次我注入bean时都会得到一个新的LoginBean实例,而不是当前的实例。我尝试过@Named(“name”)之类的东西。从jsf页面调用bean本身(两者)并设置所有数据,但每次都注入一个新实例,我无法弄清楚我做错了什么!!!

@Named
@SessionScoped
public class LoginBean implements Serializable {

    private static final long serialVersionUID = -8825740128333470396L;

    @EJB private UserDetailDao userDetailDao;

    private String description;
    public String getDscription() { return description; }

    public String submit() {
        userDetailDao.doSomething("test");

        description = "testing";

        return "next.xhtml";
    }
}

和第二个豆

@Named
@SessionScoped
public class NextBean extends SomeBean implements Serializable {

    private static final long serialVersionUID = -4654827059950265300L;

    @Inject private LoginBean loginBean;

    public String submit() {
        String description = loginBean.getDscription();

        return "login.xhtml";
    }
}

设置了“描述”,我可以在jsf页面中看到它,但是我无法从NextBean访问它,因为它每次都会注入一个新实例!但数据在会议中!

:/

任何提示? 提前谢谢!

1 个答案:

答案 0 :(得分:0)

我把豆子命名错了!并且没有使用正确的@Produces:/

感谢您的时间。