当前位置: 首页 > 面试题库 >

如何通过@ManagedProperty注释注入整个托管bean?

琴镜
2023-03-14
问题内容

我试图通过@ManagedProperty注释将整个JSF托管Bean注入另一个托管Bean非常相似,但是我正在注入Bean,而不是Servlet)。这就是我在做什么:

@ManagedBean
public class Foo {
  @ManagedProperty(value = "#{bar}")
  private Bar bar;
}

@ManagedBean
public class Bar {
}

不起作用(JSF 2.0 / Mojarra 2.0.3):

SEVERE: JSF will be unable to create managed bean foo when it is 
requested.  The following problems where found:
- Property bar for managed bean foo does not exist. Check that 
  appropriate getter and/or setter methods exist.

有没有可能或者我需要通过编程方式进行注射FacesContext


问题答案:

您需要添加setter和getter

@ManagedBean
public class Foo {
  @ManagedProperty(value = "#{bar}")
  private Bar bar;
  //add setters and getters for bar
  public Bar getBar(){
      return this.bar;
  }
  public void setBar(Bar bar){
      this.bar = bar;;
  }
}

FacesContext将解析并注入依赖项时,它将使用setters注入,因此适当的setters / getters应该在那里,否则它将找不到该属性



 类似资料:
  • 我是Spring Security的新手。我看过很多关于如何通过外部属性文件的注释注入值的文章。我尝试了很多方法,但最终都是用java。lang.IllegalArgumentException:无法解析占位符“val.id”异常。 你能给我一些提示如何处理这个例外吗? 我的java类如下所示: 我的属性文件名为val.properties,位于WEB-INF下,其内容为val.id=xyz 我将

  • 问题内容: 有什么方法可以通过JPA注释指定SQL注释?表和列的注释。 问题答案: 有什么方法可以通过JPA注释指定SQL注释?表和列的注释。 否。如果要定义表和列注释,最好的选择是在生成的DDL中根据事实进行操作,然后再对数据库执行操作。

  • 我在整个代码中有一堆常量,用于系统的各种可调整属性。我正在将它们全部移动到一个中央文件中。我目前的解决方案是有一个静态加载文件并公开各种getter方法,如下所示: 唯一的问题是,对于我从这个文件中获得的每个常量,我都有一些样板: 我不认为我想使用Spring或类似的东西,因为那看起来更像是boilerplae。我希望使用自定义注释来解决这个问题。我找到了这个教程,但是我真的不能弄清楚如何从注释处

  • 主要内容:实例,运行测试结果以下代码显示了如何进行bean注入。 我们先定义一个消息bean,它有一个字符串属性来存储消息。 然后我们再定义另一个托管bean,并使用注解注入。 实例 打开 NetBean8.2,创建一个名为: InjectManagedBeans 的工程,并加入以下文件代码。 以下是文件:UserBean.java 中的代码 - 以下是是文件:index.xhtml 中的代码 - 以下是文件:Message

  • 问题内容: 我试图在JPA映射的实体上引入多键约束: 基本上,(产品,序列)对应该是唯一的,但是我只找到一种说序列应该是唯一的方法。这显然不是一个好主意,因为不同的产品可能具有相同的序列号。 有没有办法通过JPA生成此约束,还是我被迫手动将其创建到DB? 问题答案: 您可以使用实体类中的注释来声明唯一约束,即 请注意,这并不是在数据库中神奇地创建唯一约束,您仍然需要DDL才能创建它。但是似乎您正在

  • 我希望能够通过辅助注入创建的对象来发现/注入创建对象的方法的名称。 我想做的一个例子: 不幸的是,到目前为止,我想到的实现这一点的唯一方法是 扩展辅助注射(通过复制和粘贴)以添加我的功能 写一些与辅助注射非常相似的东西,为我做这件事 写很多样板,在没有guices帮助的情况下做到这一点 我正在寻找一个解决方案,大致如下: < li >实现这一点的一些guice配置或模式 < li >实现此功能的一