JPA + Spring security

Boa pessoal!
Estou tentando compartilhar minha conexão JPA com o spring security. Porem quando faço o teste com o Junit me retorna uma exception dizendo que o EntityManager em está null. Alguém poderia me esclarecer pq isso está acontecendo? segue minhas classes para análise:
Persistence.xml

<?xml version="1.0" encoding="UTF-8" ?>
<persistence xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://java.sun.com/xml/ns/persistence
						http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd"
	version="2.0" xmlns="http://java.sun.com/xml/ns/persistence">
	<persistence-unit name="persistence-init" transaction-type="RESOURCE_LOCAL">
		<properties>	
				
			<property name="connection.datasource" value="java:/comp/env/jdbc/requisicao"/>
			
			<property name="hibernate.show_sql" value="true" />
			<property name="hibernate.format_sql" value="true" />
			<property name="hibernate.hbm2ddl.auto" value="update" />
			<property name="hibernate.connection.driver_class" value="org.postgresql.Driver"/>
		</properties>
	</persistence-unit>
</persistence>

applicationContext.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
	xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.2.xsd">
	<bean id="requisicaoDataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
		<property name="jndiName">
			<value>java:comp/env/jdbc/requisicao</value>
		</property>
	</bean> 	
</beans>

context.xml

<?xml version="1.0" encoding="UTF-8"?>
<Context reloadable="true">
	<Resource	name="jdbc/requisicao" 
				auth="Container" 
				type="javax.sql.DataSource"
				maxActive="100" 
				maxIdle="30" 
				maxWait="10000"
				username="postgres" 
				password="postgres" 
				driverClassName="org.postgresql.Driver"
				url="jdbc:postgresql://localhost:5432/requisicaoDB?autoReconnect=true"/>

</Context>

applicationContext-security

<?xml version="1.0" encoding="UTF-8"?>
<b:beans xmlns="http://www.springframework.org/schema/security"
    xmlns:b="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.2.xsd
                        http://www.springframework.org/schema/security http://www.springframework.org/schema/security/spring-security-3.2.xsd">
	<http>
		<intercept-url pattern="/admin/**" access="ROLE_ADMINISTRADOR" />
		<intercept-url pattern="/restrito/**" access="ROLE_USUARIO" />
		<form-login login-page="/publico/login.xhtml"
			always-use-default-target="true" default-target-url="/restrito/**"
			authentication-failure-url="/publico/**" />
		<logout/>
		<remember-me />
	</http>
	
	<authentication-manager>
		<authentication-provider>
			<jdbc-user-service data-source-ref="requisicaoDataSource" />
		</authentication-provider>
	</authentication-manager>
</b:beans>

GenericDAO.java

package br.com.crweb.model.persistence;

import java.io.Serializable;
import java.util.List;

import javax.persistence.EntityManager;
import javax.persistence.Query;

import br.com.crweb.model.util.JPAUtil;

public class GenericDAO<T> implements IDAO<T>, Serializable{
	
	EntityManager em = JPAUtil.getConnection();
	T obj;

	public GenericDAO(T obj) {
		this.obj = obj;
	}

	public void save(T obj) throws Exception {
		em.getTransaction().begin();
		em.persist(obj);
		em.getTransaction().commit();
		em.close();
	}

	public void update(T obj) throws Exception {
		em.getTransaction().begin();
		em.merge(obj);
		em.getTransaction().commit();
		em.close();
	}

	public void delete(T obj) throws Exception {
		em.getTransaction().begin();
		em.remove(obj);
		em.getTransaction().commit();
		em.close();
	}

	@SuppressWarnings("unchecked")
	public T findById(Integer id) throws Exception {
		return  (T)em.find(this.getClass(), id);
	}

	@SuppressWarnings("unchecked")
	public List<T> findAll() throws Exception {
		Query query = em.createQuery("from " + getClass().getName() + "t");
		//Query query2 = em.createQuery("select u from Usuario u");
		return query.getResultList();
	}

}

TestUsuarioDAO - Junit

package br.com.crweb.teste;

import org.junit.Test;

import br.com.crweb.model.entity.Usuario;
import br.com.crweb.model.persistence.UsuarioDAO;

public class TestUsuarioDAO {

	@Test
	public void testSalvar(){
		Usuario usuario = new Usuario();
		usuario.setNome("José");
		usuario.setLogin("jose");
		usuario.setSenha("123");
		usuario.setTipo('m');
		usuario.setAtivo(true);
		try {
			UsuarioDAO usuarioDAO = new UsuarioDAO();
			usuarioDAO.save(usuario);
		} catch (Exception e) {
			System.out.println(e.getMessage());
			e.printStackTrace();
			
		}
		
	}

}

Desde já muito obrigado.

Simples, JPAUtil.getConnection(); está vindo nulo, faltou vc nos mostrar a class JPAUtil

Eu uso o EntityManager da seguinte forma:

@PersistenceContext protected EntityManager entityManager;