Olá,
Estou utilizando JSF e Spring em um projeto e estou tendo problemas para injetar um DAO num conversor.
Queria saber o que precisa configurar para o spring "saber" injetar este DAO no conversor.
Eu utilizo o spring para injetar o dao no controller e funciona.. mas não consigo fazer funcionar no conversor.
No Controller eu injeto com @Resource
@Controller("pessoaController")
@Scope("session")
public class PessoaController {
@Resource
private PessoaDAO pessoaDAO;
...
}
no conversor isto não funciona.. mas eu sou um pouco nova no Spring e não sei se estou fazendo besteira.
Meu conversor é o seguinte:
public class PessoaConverter implements Converter{
@Resource
private PessoaDAO pessoaDao;
@Override
public Object getAsObject(FacesContext arg0, UIComponent arg1, String value) {
Integer id = Integer.parseInt(value);
Pessoa pessoa = (Pessoa)pessoaDao.pesquisarPorId(id);
return pessoa;
}
@Override
public String getAsString(FacesContext arg0, UIComponent arg1, Object value) {
Pessoa pessoa = (Pessoa)value;
return String.valueOf(pessoa.getId());
}
}
O Dao está funcionando certo... o problema é que não injeta o DAO no conversor mesmo.
Alguém sabe qual o problema? Eu acredito que seja alguma configuração no arquivo do spring... mas não encontro nada na internet.
Segue o applicationContext caso seja necessário
<?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:context="http://www.springframework.org/schema/context" 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/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd">
<bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
<property name="persistenceUnitName" value="FinanceiroPU" />
</bean>
<context:component-scan base-package="br.com.financeiro.controller" />
<context:annotation-config />
<bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager">
<property name="entityManagerFactory" ref="entityManagerFactory" />
</bean>
<tx:annotation-driven />
<bean id="PessoaDAO" class="br.com.financeiro.DAO.imp.PessoaDAOImp" />
<bean id="PessoaConverter" class="br.com.financeiro.converter.PessoaConverter" />
</beans>