Hibernate + Spring == getHibernateTemplate().loadAll retorna null

Olá, vou tentar explicar de uma forma clara o que estou querendo fazer, venho estudando o spring a pouco tempo e comecei a fazer a integração dele com o hibernate, peguei alguns exemplos prontos e fui modificando até então tudo certo, extraindo o maximo de informações possiveis para dar inicio a o desenvolvimento de uma aplicação maior. O fluxo de dados da aplicação que esta com problema é o seguinte:

View(Flex) chama o metodo getList do controlador(CargoController) o controlador intancia o DAO (CargoHibernateDao) e o mesmo tem o método em questão. Bom eu deixei o meu controlador fora do Spring pois existe o mapeamento do web.xml para fazer em fim, não queria que ele fizesse parte do Spring então separei a camada de controler. O problema está sendo no medodo getHibernateTemplate, chega de lenga lenga vou colar pra você os arquivos. Chegou a um ponto que eu não sei para aonde prosseguir. Segue abaixo:

ARQUIVO - controlador(CargoController)
public class CargoController {

CargoHibernateDao dao = new CargoHibernateDao(); 	

public Cargo save(Cargo p_cargo) throws Exception {
	return dao.save(p_cargo);
 }	

public void remove(Cargo p_cargo) throws Exception {
	dao.remove(p_cargo);		
}
    
public Cargo findById(Cargo p_cargo) throws Exception {
	return dao.findById(p_cargo);	
}
    
public List<Cargo> getList() throws Exception {
	return dao.getList();
}

}


ARQUIVO - DAO(CargoHibernateDao )
public class CargoHibernateDao extends HibernateDaoSupport implements ICrud {

public Cargo save(Cargo p_cargo) {
    getHibernateTemplate().saveOrUpdate(p_cargo);
    return p_cargo;
}

public void remove(Cargo p_cargo) {
    getHibernateTemplate().delete(p_cargo);
}

public Cargo findById(Cargo p_cargo) {
    long id = p_cargo.getIdCargo();
    p_cargo = (Cargo) getHibernateTemplate().get(Cargo.class, p_cargo.getIdCargo());

    if (p_cargo == null) {
        return null;
    }    
    return p_cargo;
}

@SuppressWarnings("unchecked")
public List<Cargo> getList() {
    try {
    	return (List<Cargo>) getHibernateTemplate().loadAll(Cargo.class);
    } catch (Exception e) {
        System.out.println("Não foi possível listar."+e.getMessage());
    }
return null;
}

}


ARQUIVO - INTERFACE(ICrud)
public interface ICrud {
public Cargo save(Cargo p_cargo);
public void remove(Cargo p_cargo);
public Cargo findById(Cargo p_cargo);
public List<Cargo> getList();
}


ARQUIVO - APLICATIONCONTEXT

<?xml version=“1.0” encoding=“UTF-8”?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:p="http://www.springframework.org/schema/p"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:jee="http://www.springframework.org/schema/jee"
xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd
http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-2.5.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd"
default-lazy-init=“false”>
<!–
//////////////////////////////////////
Integração do Spring com o Hibernate
//////////////////////////////////////
–>

    &lt;!--
        Carregamento do Arquivo de Configuracoes do JDBC
    --&gt;
    &lt;context:property-placeholder location="classpath:resources/jdbc.properties" /&gt;
 
    &lt;!--
        Configuracao do DataSource
    --&gt;
    &lt;bean id="dataSource"
        class="org.springframework.jdbc.datasource.DriverManagerDataSource"&gt;
        &lt;property name="driverClassName"&gt;
            &lt;value&gt;${jdbc.driverClassName}&lt;/value&gt;
        &lt;/property&gt;
        &lt;property name="url"&gt;
            &lt;value&gt;${jdbc.url}&lt;/value&gt;
        &lt;/property&gt;
        &lt;property name="username"&gt;
            &lt;value&gt;${jdbc.username}&lt;/value&gt;
        &lt;/property&gt;
        &lt;property name="password"&gt;
            &lt;value&gt;${jdbc.password}&lt;/value&gt;
        &lt;/property&gt;
    &lt;/bean&gt;
 
    &lt;!--
        Hibernate SessionFactory
    --&gt;
    &lt;bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean"&gt;
 
        &lt;property name="dataSource"&gt;
            &lt;ref local="dataSource" /&gt;
        &lt;/property&gt;        
 
	    &lt;property name="annotatedClasses"&gt;
	        &lt;list&gt;
	            &lt;value&gt;model.entity.Cargo&lt;/value&gt;
	        &lt;/list&gt;
	    &lt;/property&gt;
	 		          
        &lt;!-- Configuracoes do Hibernate --&gt;
        &lt;property name="hibernateProperties"&gt;
            &lt;props&gt;
                &lt;prop key="hibernate.dialect"&gt; org.hibernate.dialect.MySQLInnoDBDialect &lt;/prop&gt;
                &lt;prop key="hibernate.show_sql"&gt;true&lt;/prop&gt;
                &lt;!--
                    Atualizar o Banco de dados de acordo com os arquivos de mapeamentos.
                    &lt;prop key="hibernate.hbm2ddl.auto"&gt;update&lt;/prop&gt;
                --&gt;
            &lt;/props&gt;
        &lt;/property&gt;
 
        &lt;property name="eventListeners"&gt;
            &lt;map&gt;
                &lt;entry key="merge"&gt;
                    &lt;bean
                        class="org.springframework.orm.hibernate3.support.IdTransferringMergeEventListener" /&gt;
                &lt;/entry&gt;
            &lt;/map&gt;
        &lt;/property&gt;
    &lt;/bean&gt;      
     
 	&lt;bean id="ICrud" class="model.repository.hibernate.CargoHibernateDao"&gt;
		&lt;property name="sessionFactory" ref="sessionFactory"/&gt;
	&lt;/bean&gt;
    &lt;!--
        Transaction Manager
    --&gt;
    &lt;bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager"&gt;
        &lt;property name="sessionFactory"&gt;
            &lt;ref local="sessionFactory" /&gt;
        &lt;/property&gt;
    &lt;/bean&gt;
 
    &lt;!-- Habilita os Services para serem transicionais via a Annotation @Transactional --&gt;
    &lt;tx:annotation-driven transaction-manager="transactionManager" /&gt;
 
    &lt;!-- ============================== AOP DEFINITIONS ================================ --&gt;
 
 
    &lt;!-- ========================= BUSINESS OBJECT DEFINITIONS ========================= --&gt;
    &lt;!--
        Activates various annotations to be detected in bean classes:
        Spring's @Required and @Autowired, as well as JSR 250's @Resource.
    --&gt;
    &lt;context:annotation-config /&gt;


&lt;/beans&gt;

PS: Essa bagunça de arquitetura será corrigida quando eu for montar o projeto, so preciso montar uma pequena estrutura para entender melhor como funciona, é só a nivel de aprendizado. Obrigado