我试图向我的bean注入服务,但始终是null
。 我收到以下错误:WELD-001000解决属性userBean针对基本null错误。“@inject”-ed属性保留为空
一些代码片段:
的index.xhtml
<h:body>
Hello from Facelets
#{userBean.name}
</h:body>
userbean.java
package beans;
import Domain.User;
import java.io.Serializable;
import javax.enterprise.context.SessionScoped;
import javax.inject.Inject;
import javax.inject.Named;
import service.UserService;
@Named
@SessionScoped
public class UserBean implements Serializable{
@Inject UserService service;
private User user;
public UserBean(){
this.user = service.find_user("foo");
}
public String getName(){
return "bar";
}
}
UserService.java
package service;
import Domain.User;
import javax.ejb.Stateless;
import javax.inject.Named;
@Named
@Stateless
public class UserService {
public UserService(){}
public User find_user(String name){
return new User();
}
}
这似乎是的情况下,如何将我解决这一问题? – martijnve 2011-04-14 09:55:25
@Martijn v E - 想到一个解决方案,看我最后的编辑:) – 2011-04-14 10:01:23
@Martijn v规范依赖注入E发生后的构造函数。 – Laures 2011-04-14 20:50:09