Estou usando o Spring em uma aplicação que irá ser integrada com o Flex e estou utilizando o OpenAMF para fazer a ponte entre o Flex e o Java. Estou iniciando a implementação dos serviços do OpenAMF e gostaria de saber como acessar o meu Dao criado pelo Spring dentro dessa classe de serviço.
ApplicationContext context = WebApplicationContextUtils.getWebApplicationContext(
getServletContext() );
Dao dao =
( HibernateClienteDao) context.getBean( "dao" );
No serviço:
[code]
public class UsuarioAdministradorService {
public void salvar( String login, String senha ) throws Exception {
UsuarioAdministrador u = new UsuarioAdministrador();
u.setLogin( login );
u.setSenha( senha );
// como obter o DAO???
Dao dao = ?;
dao.getHibernateTemplate().saveOrUpdate( u );
}
}[/code]
Como que eu posso obter o meu objeto “dao” em uma classe normal?
Mas eu vou ter que manter um servlet só para isso???
Eu quero ter acesso direto aos objetos criados pelo Spring, não tem como fazer isso?
Tenho isso aqui (abaixo) em uma classe de teste, mas toda vez que é executada ela carrega as configurações do Spring, e se eu fizer isso no meu serviço vai ficar pesado concordam? Eu posso obter o BeanFactory apenas uma vez e deixar ele vivo na aplicação como um membro static? Isso está me cheirando a gambiarra…
[code]
Resource configuration =
new ClassPathResource("/applicationContext.xml");
BeanFactory factory =
new XmlBeanFactory( configuration );