PQ nao consigo fazer isso no Vraptor

Nao sei o que esta acontecendo.
Mas acredito que quando recebo uma daoFactory no construtor da minha logica, isso esteja causando o problema.
Essa daoFactory anotei com a anotacao @Component e por esse motivo gostaria muito de recebe-la no meu construtor
Pq nao consigo realizar esta acao?


logica

[code]package br.com.homeworks.controller;

import java.util.List;
import java.util.Set;

import org.hibernate.Session;

import br.com.caelum.vraptor.Resource;
import br.com.homeworks.dao.DaoFactory;
import br.com.homeworks.model.Project;
import br.com.homeworks.model.User;

@Resource
public class UserController
{
private final DaoFactory daoFactory;
// private List users;
// Set userProjects;

UserController(DaoFactory daofactory)
{
	this.daoFactory = daofactory;
	
}

public String add(User user)
{

// System.out.println(“alo”);
// return user.getEmail();
return daoFactory.toString();

}

public String teste(User user)
{
	return daoFactory.toString();
}

// public List getUsers()
// {
// return users;
// }
//
// public Set getUserProjects() //return projects where user is registered
// {
// return this.userProjects;
// }
//
// public void form()
// {
//
// }
}
[/code]


exception obtida

SEVERE: StandardWrapperValve[default]: PWC1406: Servlet.service() for servlet default threw exception
org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'userController' defined in file [C:\Program Files (x86)\Glassfish\glassfishv3-prelude\glassfish\domains\domain1\eclipseApps\HomeWorks\WEB-INF\classes\br\com\homeworks\controller\UserController.class]: Unsatisfied dependency expressed through constructor argument with index 0 of type [br.com.homeworks.dao.DaoFactory]: : Error creating bean with name 'daoFactory' defined in file [C:\Program Files (x86)\Glassfish\glassfishv3-prelude\glassfish\domains\domain1\eclipseApps\HomeWorks\WEB-INF\classes\br\com\homeworks\dao\DaoFactory.class]: Unsatisfied dependency expressed through constructor argument with index 0 of type [org.hibernate.Session]: : No matching bean of type [org.hibernate.Session] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {}; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No matching bean of type [org.hibernate.Session] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {}; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'daoFactory' defined in file [C:\Program Files (x86)\Glassfish\glassfishv3-prelude\glassfish\domains\domain1\eclipseApps\HomeWorks\WEB-INF\classes\br\com\homeworks\dao\DaoFactory.class]: Unsatisfied dependency expressed through constructor argument with index 0 of type [org.hibernate.Session]: : No matching bean of type [org.hibernate.Session] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {}; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No matching bean of type [org.hibernate.Session] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {}
	at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:698)
	at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:192)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:984)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:886)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:479)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:450)
	at org.springframework.beans.factory.support.AbstractBeanFactory$2.getObject(AbstractBeanFactory.java:328)
	at org.springframework.web.context.request.AbstractRequestAttributesScope.get(AbstractRequestAttributesScope.java:43)
	at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:324)
	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:193)
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeansOfType(DefaultListableBeanFactory.java:385)
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeansOfType(DefaultListableBeanFactory.java:375)
	at org.springframework.context.support.AbstractApplicationContext.getBeansOfType(AbstractApplicationContext.java:1069)
	at org.springframework.beans.factory.BeanFactoryUtils.beansOfTypeIncludingAncestors(BeanFactoryUtils.java:221)
	at br.com.caelum.vraptor.ioc.spring.VRaptorApplicationContext.getBean(VRaptorApplicationContext.java:240)
	at br.com.caelum.vraptor.ioc.spring.SpringBasedContainer.instanceFor(SpringBasedContainer.java:58)
	at br.com.caelum.vraptor.interceptor.InstantiateInterceptor.intercept(InstantiateInterceptor.java:41)
	at br.com.caelum.vraptor.core.InstantiatedInterceptorHandler.execute(InstantiatedInterceptorHandler.java:41)
	at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:59)
	at br.com.caelum.vraptor.interceptor.InterceptorListPriorToExecutionExtractor.intercept(InterceptorListPriorToExecutionExtractor.java:46)
	at br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:46)
	at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:59)
	at br.com.caelum.vraptor.interceptor.FlashInterceptor.intercept(FlashInterceptor.java:80)
	at br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:46)
	at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:59)
	at br.com.caelum.vraptor.interceptor.ResourceLookupInterceptor.intercept(ResourceLookupInterceptor.java:67)
	at br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:46)
	at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:59)
	at br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:48)
	at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:59)
	at br.com.caelum.vraptor.core.DefaultRequestExecution.execute(DefaultRequestExecution.java:62)
	at br.com.caelum.vraptor.VRaptor$1.insideRequest(VRaptor.java:91)
	at br.com.caelum.vraptor.ioc.spring.SpringProvider.provideForRequest(SpringProvider.java:55)
	at br.com.caelum.vraptor.VRaptor.doFilter(VRaptor.java:88)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:250)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:218)
	at org.apache.catalina.core.StandardWrapperValve.preInvoke(StandardWrapperValve.java:460)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:139)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:186)
	at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:719)
	at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:657)
	at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:96)
	at com.sun.enterprise.web.PESessionLockingStandardPipeline.invoke(PESessionLockingStandardPipeline.java:98)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:187)
	at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:719)
	at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:657)
	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:651)
	at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1030)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:142)
	at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:719)
	at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:657)
	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:651)
	at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1030)
	at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:325)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:242)
	at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:180)
	at com.sun.grizzly.http.DefaultProcessorTask.invokeAdapter(DefaultProcessorTask.java:633)
	at com.sun.grizzly.http.DefaultProcessorTask.doProcess(DefaultProcessorTask.java:570)
	at com.sun.grizzly.http.DefaultProcessorTask.process(DefaultProcessorTask.java:827)
	at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:152)
	at com.sun.enterprise.v3.services.impl.GlassfishProtocolChain.executeProtocolFilter(GlassfishProtocolChain.java:71)
	at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:103)
	at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:89)
	at com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:76)
	at com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:67)
	at com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:56)
	at com.sun.grizzly.util.WorkerThreadImpl.processTask(WorkerThreadImpl.java:325)
	at com.sun.grizzly.util.WorkerThreadImpl.run(WorkerThreadImpl.java:184)
Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'daoFactory' defined in file [C:\Program Files (x86)\Glassfish\glassfishv3-prelude\glassfish\domains\domain1\eclipseApps\HomeWorks\WEB-INF\classes\br\com\homeworks\dao\DaoFactory.class]: Unsatisfied dependency expressed through constructor argument with index 0 of type [org.hibernate.Session]: : No matching bean of type [org.hibernate.Session] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {}; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No matching bean of type [org.hibernate.Session] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {}
	at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:698)
	at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:192)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:984)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:886)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:479)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:450)
	at org.springframework.beans.factory.support.AbstractBeanFactory$2.getObject(AbstractBeanFactory.java:328)
	at org.springframework.web.context.request.AbstractRequestAttributesScope.get(AbstractRequestAttributesScope.java:43)
	at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:324)
	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:189)
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.findAutowireCandidates(DefaultListableBeanFactory.java:820)
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:762)
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:680)
	at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:771)
	at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:691)
	... 67 more
Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No matching bean of type [org.hibernate.Session] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {}
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.raiseNoSuchBeanDefinitionException(DefaultListableBeanFactory.java:896)
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:765)
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:680)
	at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:771)
	at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:691)
	... 81 more

Segue o erro exibido no navegador

Segue o erro exibido no navegador

descobri

faltava isso no meu web.xml

<context-param> <param-name>br.com.caelum.vraptor.provider</param-name> <param-value>br.com.homeworks.provider.CustomProvider</param-value> </context-param>

o erro certo é esse:

No matching bean of type [org.hibernate.Session]

que significa que o seu DaoFactory recebe uma Session no construtor…

Vc precisa ou criar um component factory que cria uma Session, ou usar um componente do vraptor que já faz isso:
http://vraptor.caelum.com.br/documentacao/componentes/
http://vraptor.caelum.com.br/documentacao/componentes-utilitarios-opcionais/