我有一个JSF托管bean来创建依赖于应用程序的User实例(UserFactory接口实现者)。我想在EJB容器中使用这个工厂。该应用程序抛出NullPointerException,因为UserWithRolesDAL.userFactory的值为null。但为什么呢?
@Stateless
@LocalBean
public class UserWithRolesSER
{
@Inject
private UserWithRolesBUS userBUS;
...
}
@Dependent
class UserWithRolesBUS
{
@Inject
private UserWithRolesDAL userDAL;
...
}
@Dependent
class UserWithRolesDAL
{
@ManagedProperty( value = "#{userFactory}" )
private UserFactory userFactory;
...
}
public interface UserFactory
{
public UserWithRoles createUser();
}
@ManagedBean
@ApplicationScoped
@Named( value = "userFactory" )
public class XUserFactory implements UserFactory
{
...
}