Inyección de EntityManager - NullPointerException

En mi aplicación Spring + JPA / Hibernate + Wicket, tengo un bean QueryBuilder que quiero usar en uno de mis DAO que genera una consulta escrita con la ayuda de Criteria API:

@Service(value="inboxQueryBuilder")
public class InboxQueryBuilder {

    @PersistenceContext
    EntityManager em;

    CriteriaBuilder cb;

    public InboxQueryBuilder() {
        cb = em.getCriteriaBuilder();
    }

    public TypedQuery<App> getQueryForApps(AppSearchObject aso) {
           ...
    }

    ...
}

Sin embargo, cuando ejecuto la aplicación, obtengo una excepción de puntero nulo para la línea:

cb = em.getCriteriaBuilder();

es decir, el EntityManager no se inyecta. ¿Sabes por qué?

Además, ¿es este uso correcto y seguro para subprocesos o debería crear una instancia de mi InboxQueryBuilder para cada consulta? En ese caso, ¿debería también inyectar el EntityManager o debería pasarlo como un parámetro de construcción (el InboxQueryBuilder se instanciaría para cada consulta en el DAO que tiene una instancia inyectada de EntityManager)?

Respuestas a la pregunta(3)

Su respuesta a la pregunta