Session -> null Spring & Hibernate

Que tal chavos, ya tenía rato que no preguntaba algo jejeje, pero aquí estoy de nuevo, después de trabajar con Struts1 un poco con Struts2, decidí que ya era hora de entrar a las grandes ligas jejeje por lo cual estoy haciendo un proyecto con JSF + Spring + Hibernate y me he encontrado con el primer obstáculo, en estas tecnológias soy nuevo tanto en Spring y JSF.
Bueno el problema que tengo es al obtener una session de Hibernate, me marca un NullPointerException ya he buscado en varios sitios pero no logro dar con la solución, cabe mencionar que ya revise un post anterior pero aún así no doy con la respuesta.
Les pongo algo de mi código:

Config-Spring.xml
 

SeccionDAO.java
 

SeccionDAOImpl.java
 

Seccion.java
 

Espero algunas ideas para saber dónde estoy mal. De antemano muchas gracias.

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.
Imagen de ghosttigger1203

no se si sea la mejor forma

No sé si sea la mejor forma pero ya solucioné mi problema, para empezar decidí hacer un proyecto nuevo pero sin anotaciones, esto para comprender lo básico y me funcionó =) después lo implementé en el proyecto original y vualá con pocas modificaciones funcionó con anotaciones, les pongo como quedaron los archivos mejorados jejeje por si a alguién le interesa. Cabe mencionar que la clave es leer y leer para poder comprender =D.

applicationContext.xml
 

SeccionDAO.java
 

SeccionDAOImpl.java
 

Seccion.java | queda igual

SeccionController. java
 

El problema que tenia era que no podía crear una session de hibernate a través de la configuración de spring, la clave es el ApplicationContext con la cual obtenemos una instancia del mismo para poder sacar el bean, en este caso seccionDAOB el cúal fué inyectado por spring con un sessionFactory, la pregunta que tengo es que: siempre tengo que crear beans, ponerlos en el applicationContext de spring, inyectarles mi sessionFactory para poder manejar las transacciones? existe otra forma más fácil?

parece que ignora el pool c3p0, como puedo saber si lo esta utilizando mi configuración o esta utilizando el pool que trae por default Hibernate?

Saludos