Bom dia !
Estou com uma dúvida: como consigo receber um bean pré-montado pelo Spring MVC em um dos meus Controllers ?
Porque é assim, em meu application-context.xml tem uma instrução para o Spring montar um bean pra mim, e ele monta certinho, agora quero receber este bean em um Controller, mas como ?
Esta é a instrução onde o Spring controi o bean
<bean id="exemplo" class="br.com.ggdio.receitas.arquivo.Exemplo" />
Agora como faço pra inseri-lo do modo que foi montado em um @Controller:
@Controller
public class ExemploController
{
private Exemplo exemploBean;
//setter
}
Obrigado.
Kra, nunca trabalhei com spring, mas acredito que seja assim
@Autowired
private Exemplo exemplo;
[quote=caio_ferreira]Kra, nunca trabalhei com spring, mas acredito que seja assim
@Autowired
private Exemplo exemplo;
[/quote]
É assim mesmo, e tem que configurar que o bean é candidato a ser autowired pelo xml:
<bean id="exemplo" class="br.com.ggdio.receitas.arquivo.Exemplo" autowire-candidate="true" />
Para usar o @autowired direto, como nosso colega sugeriu vc precisa habilitar no seu applicationContext.xml o uso de annotations, destas forma:
<context:annotation-config />
<context:component-scan base-package=br.com.app...." annotation-config="true" />
Mas é possível obtê-lo sem anotações, mapeando cada bean no applicationContext assim como o fez, para tanto, deverá proceder desta maneira:
ApplicationContext context = new ClassPathXmlApplicationContext("classpath**:/applicationContext*.xml");
BeanQualquerConfigurado bean = (BeanQualquerConfigurado ) context.getBean("idBeanMapeado");
Espero ter ajudadeo.
[]s