Estou desenvolvendo pela primeira vez um aplicativo usando spring que deverá rodar no tomcat (war). Já usei spring com glassfish e weblogic (ear).
O problema é que fazendo igual eu faço hoje, os beans que estão anotados com @Autowired não estão sendo injetados e estou tomando um nullpointer neles. Essas sessions (por enquanto) não fazem nenhuma persistência. Para conseguir injetar usando o .war é necessário fazer algo de diferente? Encontrei pouquíssimo material sobre isso no google e o pouco que tem não ajudou em nada
verifique suas annotations pois lembro uma vez que usei o spring 3 que colocando uma anotation nessas classes fazia com que esse ben fosse injetado ao inicial o contexto da aplicação. e nao no momento que em o bem dependente fosse instanciado.
Fallow
fabiomedeirosf
Está usando o que?
JSF ou Servlets e JSP?
rodpuc
struts 2 e jsp
fabiomedeirosf
Tive esse problema.
Seguinte, o primeiro bean que deverá ser injetado deverá ler pelo arquivo applicationContext.xml:
ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");context.getBean("testbean");
será necessário apenas para o primeiro bean, os demais na sua hierarquia deverão ser injetados.
funciona da mesma forma, os demais na sua hirarquia deverao ser injetados.
rodpuc
Não funcionou…
e não achei muito bonito essa maneira também… fora do tomcar eu sempre usei @Autowired pra injetar, se houver uma maneira de fazer assim também no tomcat eu ia gostar mais
alves.Felipe
posta como esta o seu applicationContext.
e o Autowired vai servir para injetar as dependencias…por exemplo:
@Service
public class TestClienteDao
{
@Autowired
private IClienteDao iClienteDao;
...
vc precisa ter o service, ou repository… declarado na sua classe
rodpuc
Descobri, o problema é que o eclipse não estava enxergando as dependências que coloquei no maven, fui nas propriedades do projeto e selecionei elas.