gpt4 book ai didi

jsf - Netbeans 警告 : no enabled eligible for injection beans are found

转载 作者:行者123 更新时间:2023-12-04 14:06:47 24 4
gpt4 key购买 nike

我有两个 bean 。 第一 bean语言系统:

@Named(value = "languageOfSystem")
@SessionScoped
public class LanguageOfSystem implements Serializable {
@Inject private JsfUtils eeJsfUtils;

第二 bean ,用户Bb:
@Named(value = "userBb")
@SessionScoped
public class UserBb implements Serializable, LangUpdInterface {
@EJB
private EjbUtils ejbUtils;
@EJB
private PuserFacade puserFacade;
@Inject
private Direction direction;
@Inject
private PortfelDao portfelDao;
@Inject
private LanguageOfSystem languageOfSystem;

我注入(inject) languageOfSystem进入 userBb ,并且 NetBeans IDE 会根据该注入(inject)向我发出警告:
no enabled eligible for injection beans are found

但我可以从 languageOfSystem 调用方法在 userBb它工作正常。那么这个警告很重要,我应该改变吗?

还有第二个问题。我在这种情况下使用 observer design pattern , 其中 userBb是依赖和 languageOfSystem是具有受抚养人列表的主题。我注册 userBb通过从 languageOfSystem 调用适当的方法在主题列表中.两个 session bean 是否正确?

最佳答案

But I'm able to call methods from languageOfSystem in userBb and it works fine.



您的代码看起来没有错 - 它有效。所以这似乎是一个Netbeans的问题。

And the second question. I use in this case observer design pattern, where userBb is dependent and languageOfSystem is the subject which has a list of dependents. I register userBb in subject list by calling appropriate method from languageOfSystem. Is it right when it comes to the two session beans?



您是否知道 CDI 规范包含一个强大的 typesafe implementation观察者模式?你绝对应该检查一下。

这里还有两件事要提到:
@Named(value = "languageOfSystem")
@Named(value = "userBb")
  • 您提供的值已经是默认值。所以你可以离开它
    出来,简单地写@Named反而。
  • 关于您发布的代码:@Named根本不需要 -
    它所做的只是提供一个用于 JSF 的 EL 名称。您的代码将
    如果你完全跳过@Named,工作同样好...
  • 关于jsf - Netbeans 警告 : no enabled eligible for injection beans are found,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10529577/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com