Pessoal,
Tenho uma interface genérica e uma implementação generica com hibernate para meus DAOs. Não gostaria de escrever para da um dos meus DAOs a classe extendida dessa implementação do hibernate generica. Uma solução seria mapear inumeros no meu applicationContext.xml
<bean id="culturaDao" class="br.al.gov.seagri.persistencia.dao.GenericDaoHibernateImpl">
<constructor-arg>
<value>br.al.gov.seagri.dominio.Cultura</value>
</constructor-arg>
<property name="sessionFactory" ref="sessionFactory"/>
</bean>
<bean id="propriedadeDao" class="br.al.gov.seagri.persistencia.dao.GenericDaoHibernateImpl">
<constructor-arg>
<value>br.al.gov.seagri.dominio.Propriedade</value>
</constructor-arg>
<property name="sessionFactory" ref="sessionFactory"/>
</bean>
.........
São muitos DAOs, gostaria de injetar um daoGenerico, passando em tempo de execução a classe para o DAO.
<bean id="genericDao" class="package br.al.gov.seagri.persistencia.hibernate.SpringFactoryDAO"
scope="prototype" factory-method="createDAO">
</bean>
O metodo createDAO receberia a classe, para instanciar o DAO generico, por exemplo:
GenericDaoHibernateImpl<Propriedade,Integer>
public class SpringFactoryDAO {
public static <T> GenericDao<T, Integer> createDAO(Class<T> c){
return new GenericDaoHibernateImpl<T, Integer>(c);
}
}
Porém não sei como passar valores em execução para o factoryBean, o metodo getBean(String nameBean, Object[] args), mas como seria a conf no xml. Até agora soh vi construtores q usam referencias de outros beans, ou qq literal, mas não valores passados como parametro.
Se nao estiver claro, eu posterei codigo.
