1
resposta

Sobre o lookup Spring

Precisaremos fazer um lookup do EntityManagerFactory

Não entendi muito, acho que entendi que o EMF não pode ser criado e "fazemos isso na mão", mas isso não diz muito.

ApplicationContext ctx = new AnnotationConfigApplicationContext(JpaConfigurator.class);

EntityManagerFactory emf = (EntityManagerFactory) ctx.getBean(EntityManagerFactory.class);

Entendi que o que está acima é relacionado ao lookup, mas não explica muito.

Obrigado.

1 resposta

Oi Irlan,

Como o exemplo mostrado no vídeo é feito dentro de uma classe com método Main(apenas para exemplificar) não tem como injetar o EntityManagerFactory nessa classe.

O jeito então é pedir para o Spring(manualmente) que recupere o objeto EntityManagerFactory, pois como ele gerencia esse objeto, ele é capaz de recuperá-lo.

Para isso, é necessário utilizar o código que foi mostrado:

ctx.getBean(EntityManagerFactory.class);

Essa variável ctx é do tipo ApplicationContext, que representa o Contexto da aplicação no Spring, sendo que com ela conseguimos recuperar qualquer objeto que o Spring gerencia.

Faz sentido?

Bons estudos!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software