我有一个 JSF 托管 bean 来创建依赖于应用程序的用户实例(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
{
...
}