java - 为什么我不能在函数内使用 ManagedProperty ?

标签 java jsf web

我想让数据库对象仅在需要时才创建,所以我想做这样的事情

public class Data {

public List<Group> getGroups(){
    List<Group> MyList=new ArrayList<Group>();
    Connection conn=null;
@ManagedProperty(value = "#{myConnection}")
myConnection getCon;

}

但这不起作用,相反我必须这样做

public class Data {
@ManagedProperty(value = "#{myConnection}")
myConnection getCon;
public List<Group> getGroups(){
    List<Group> MyList=new ArrayList<Group>();
    Connection conn=null;


}

为什么我不能在函数内创建一个 ManagedProperty ? 我想了一下,在外面应该没问题,因为它会在我创建对象时创建,但无论如何可以将其放在函数内部吗?

最佳答案

您不能使用ManagedProperty函数内部的注释。它只能在 field 上使用。请参阅下面 ManagedProperty 的定义

@Retention(value=RUNTIME)
@Target(value=FIELD)
public @interface ManagedProperty

关于java - 为什么我不能在函数内使用 ManagedProperty ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46279666/

相关文章:

Java速度虚拟机文件#set使用 boolean 变量

java - 从 GWT ScrollTable 获取对象

java - JPA Inverse Join 与 OneToMany 导致具有给定标识符的多行

java - 当我在 GitHub 上创建存储库时,它一直显示快速设置页面。我应该如何删除该页面并继续?

java - JSF 2.0 + PrimeFaces : dataTable page-numeration does not work

javascript - (无框架 - 纯 JS)使用 JS 对从 API 中提取的表进行分页

PHP PHPSESSID 利用困惑

JSF 中未触发 ajax 事件

javascript - 填充输入字段时重新启用禁用的命令按钮

css - 如何使侧边栏菜单固定,但 float 在右侧