Dúvida VRaptor + Spring

Bom dia pessoal, estou com dificuldades ao injetar meu dao na logic. De acordo com o site, só é possível fazer a injeção através do construtor, e o exemplo dado do que colocar no xml é assim:

<bean id="org.vraptor.spring.model.SystemUser" class="org.vraptor.spring.model.SystemUser"/>Mas no meu dao preciso da SessionFactory, o que normalmente eu faria assim:

<bean id="clienteDao" class="br.com.abc.dao.ClienteDao"> <property name="sessionFactory" ref="meuSessionFactory"/> </bean>Então, tentei assim, e não funcionou:

<bean id="br.com.abc.dao.ClienteDao" class="br.com.abc.dao.ClienteDao"> <property name="sessionFactory" ref="meuSessionFactory"/> </bean>A Exception que recebo é a seguinte:

10:23:18,661 DEBUG [ComponentLookupInterceptor] Instantiating class org.vraptor.spring.logic.HomeComponent 10:23:18,661 DEBUG [DefaultLogicRequest ] key not found in any contexts: br.com.suprax.ews.dao.ClienteDao 10:23:18,661 DEBUG [VRaptorServlet ] Logic exception. org.vraptor.LogicException: Unable to fill value for key br.com.abc.dao.ClienteDao at org.vraptor.interceptor.ComponentLookupInterceptor.intercept(ComponentLookupInterceptor.java:68) at org.vraptor.core.InterceptorsLogicFlow.execute(InterceptorsLogicFlow.java:72) at org.vraptor.interceptor.FlashScopeInterceptor.intercept(FlashScopeInterceptor.java:22) at org.vraptor.core.InterceptorsLogicFlow.execute(InterceptorsLogicFlow.java:72) at org.vraptor.interceptor.RegisterAttributesInteceptor.intercept(RegisterAttributesInteceptor.java:38) at org.vraptor.core.InterceptorsLogicFlow.execute(InterceptorsLogicFlow.java:72) at org.vraptor.core.VRaptorExecution.execute(VRaptorExecution.java:98) at org.vraptor.core.DefaultController.execute(DefaultController.java:46) at org.vraptor.VRaptorServlet.service(VRaptorServlet.java:70) at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:630) at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:436) at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:374) at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:302) at org.apache.jasper.runtime.PageContextImpl.doForward(PageContextImpl.java:696) at org.apache.jasper.runtime.PageContextImpl.forward(PageContextImpl.java:667) at org.apache.jsp.index_jsp._jspService(index_jsp.java:54) at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374) at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342) at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267) at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447) at java.lang.Thread.run(Unknown Source) Caused by: org.vraptor.component.ComponentInstantiationException: Unable to fill value for key br.com.abc.dao.ClienteDao at org.vraptor.component.ComponentConstructor.newInstance(ComponentConstructor.java:39) at org.vraptor.interceptor.ComponentLookupInterceptor.intercept(ComponentLookupInterceptor.java:51) ... 36 more
Alguém sabe a forma correta de fazer isso? Obrigado! :thumbup:

Bom, nunca usei Spring, mas com Vraptor normal, eu uso um Intereceptor que instancia um DaoFactory e faz a injeção…Com Spring não da pra fazer algo parecido?

Oi Thiago, fazer só com o VRaptor tudo bem, meu problema junto ao Spring, mas acho que resolvi, tornando o ClienteDao da minha logic final.

Flw! :thumbup: