No matching bean of type [com.spw.service.UserService] found for dependency

来源:互联网 发布:mac dock栏恢复默认 编辑:程序博客网 时间:2024/05/18 04:45

在spring开发过程中遇到了这个错误,@Autowired自动化配置bean的项目启动的时候报错了

2016-8-3 23:02:04org.apache.catalina.core.StandardContext listenerStart严重: Exception sendingcontext initialized event to listener instance of classorg.springframework.web.context.ContextLoaderListenerorg.springframework.beans.factory.UnsatisfiedDependencyException: Errorcreating bean with name 'userloginController' defined in file[E:\workspacce\.metadata\.me_tcat\webapps\spw\WEB-INF\classes\com\spw\controller\UserloginController.class]:Unsatisfied dependency expressed through constructor argument with index 0 oftype [com.spw.service.UserService]: : No matching bean of type[com.spw.service.UserService] found for dependency: expected at least 1 beanwhich qualifies as autowire candidate for this dependency. Dependencyannotations: {}; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: Nomatching bean of type [com.spw.service.UserService] found for dependency:expected at least 1 bean which qualifies as autowire candidate for thisdependency. Dependency annotations: {}    atorg.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:730)    atorg.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:196)    atorg.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1035)    atorg.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:939)    atorg.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:485)    atorg.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)    at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:294)    atorg.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:225)    atorg.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:291)    atorg.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:193)    atorg.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:609)    atorg.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:918)    atorg.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:469)    atorg.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:383)    atorg.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:283)    at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:112)    atorg.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3827)    atorg.apache.catalina.core.StandardContext.start(StandardContext.java:4334)    atorg.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)    atorg.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)    atorg.apache.catalina.core.StandardHost.addChild(StandardHost.java:525)    at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:920)    atorg.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:883)    atorg.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:492)    at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1138)    atorg.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)    atorg.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)    atorg.apache.catalina.core.StandardHost.start(StandardHost.java:719)    atorg.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)    atorg.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)    atorg.apache.catalina.core.StandardService.start(StandardService.java:516)    atorg.apache.catalina.core.StandardServer.start(StandardServer.java:710)    atorg.apache.catalina.startup.Catalina.start(Catalina.java:566)    at sun.reflect.NativeMethodAccessorImpl.invoke0(NativeMethod)    atsun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)    atsun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)    at java.lang.reflect.Method.invoke(Method.java:597)    at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)    atorg.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)

出现这个问题大概的原因有

1:你的web.xml配置文件里面少了监听listener

2:是因为你的@<context:component-scan base-package=""/>或者@ComponentScan,@Component基础包没有包含到你自动化的bean对象

3:大概就是这两种原因可是我仔细查找了我的配置没有上面的错误,经研究发现是由于我的controller用的是@Controller创建的bean对象,而在service和dao层的实现类上面没有创建bean对象导致Controller找不到@Autowired注入的对象于是在service层IMPL实现的类上面添加了@service(”xxxservicel”)在dao层impl包下添加@Repository("xxDao")就好了!!!

0 0