2014-01-17 85 views
0

直到现在我使用(如初学者)JSF。通常我会制作xhtml页面和后端bean。在后台bean中,我使用@ManagedBean,@SessionScoped,@Application等注释。我认为这是javax.faces.bean的注释,如果它是正确的,就是脸部注释。如何使用注射注释

巴斯我在互联网上找到一个教程,其中一个人使用@Model这样的注释是backand bean中最有趣的一个他使用@Inject注释。我觉得这非常有用。他使用注入Logger类,并在同一个bean可以使用该类的方法。像这样的东西:

@Model 
public class FileUploadBean { 
    @Inject Logger log; 
    private Part file; 

    public void upload(){ 
     ... 
    } 
} 

是否有他使用企业的Java,也许CDI和我可以如何使用这个注释。因为当我在我的Backing bean中写入@Inject时,有消息是不明确的注释。 我必须知道什么?

我在使用eclipse和glassfish!

回答

2

您在说的是javax.enterprise.Inject注释。有关基本信息,请参阅标记wiki页面。唯一需要的是相应的import声明。请注意,如果您已经有JSF beans的项目,请注意大多数范围注释(@SessionScoped,@RequestScoped,...)具有与CDI相同的名称。确保你的import是正确的注释,否则你会发现你的“会话bean”突然只有请求范围。

参见:

Weld Reference

JEE6 CDI Tutorial