Problema com CDI

Olá. Boa tarde.

Sou novo em Java, e fui criar uma EntityManageFactory usando CDI seguindo modelos que já existem prontos na web. Fiz o mesmo no DAO, seguindo exemplos. Já vi e revi várias vezes, porém não funciona, o manager fica null no DAO. Alguma dica do que posso estar fazendo errado?

public class EntityManagerProducer {

@Produces
@ApplicationScoped
public EntityManagerFactory getEntityManagerFactory() {
    return Persistence.createEntityManagerFactory("supersenaPU");
}

@Produces
@RequestScoped
public EntityManager getEntityManager(EntityManagerFactory factory) {
    return factory.createEntityManager();
}

public void fecharEntityManager(@Disposes EntityManager manager) {
    if (manager.isOpen()) {
        manager.close();
    }
}

}

public class UsuarioDAO {
@Inject
private EntityManager em;

public UsuarioDAO() {
}

public UsuarioBO buscarUsuario(long id) {

    UsuarioBO Usuario;

    try {
        Usuario = em.find(UsuarioBO.class, id); <-- em fica null aqui
    } catch (Exception ex) {
        return null;
    }

    return Usuario;
}

}