CDI 注入 bean 是否需要 getter 和 setter?

Mar*_*k W 1 java dependency-injection inject cdi

当使用 CDI 注入 bean 时:

@Inject Person person;
Run Code Online (Sandbox Code Playgroud)

是否需要/推荐使用 setter 和 getter?

import javax.inject.Inject;
import javax.inject.Named;

@Named
@SessionScoped
public class myJSFBean{

  @Inject Person person;

  public void setPerson (Person person){
    this.person = person;
  }
  public Person getPerson (){
    return person;
  }
Run Code Online (Sandbox Code Playgroud)

我找到了这个文档,但我不明白它的意思:http : //docs.oracle.com/javaee/6/tutorial/doc/gjbbp.html

acm*_*acm 6

根据焊接文件

请注意,没有必要创建 getter 或 setter 方法来将一个 bean 注入另一个 bean。CDI 可以直接访问注入的字段(即使它是私有的!),这有时有助于消除一些浪费的代码。字段的名称是任意的。字段的类型决定了注入的内容。