spring框架问题,添加aop功能后,项目启动报错了

reachyou 2017-02-03 08:11:26
下面是代码截图
项目目录结构

dao层

service层

controller

aop功能

spring配置文件

springmvc配置文件
web.xml


下面是运行时报错:
警告: Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'myController': Unsatisfied dependency expressed through field 'showUser'; nested exception is org.springframework.beans.factory.BeanNotOfRequiredTypeException: Bean named 'show' is expected to be of type 'com.huangkai.pro.service.ShowUserImpl' but was actually of type 'com.sun.proxy.$Proxy17'
二月 03, 2017 8:09:07 下午 org.springframework.web.context.ContextLoader initWebApplicationContext
严重: Context initialization failed
org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'myController': Unsatisfied dependency expressed through field 'showUser'; nested exception is org.springframework.beans.factory.BeanNotOfRequiredTypeException: Bean named 'show' is expected to be of type 'com.huangkai.pro.service.ShowUserImpl' but was actually of type 'com.sun.proxy.$Proxy17'
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:588)
at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:88)
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:366)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1225)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:552)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:483)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:759)
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:866)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:542)
at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:444)
at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:326)
at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:107)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:5118)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5634)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1571)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1561)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: org.springframework.beans.factory.BeanNotOfRequiredTypeException: Bean named 'show' is expected to be of type 'com.huangkai.pro.service.ShowUserImpl' but was actually of type 'com.sun.proxy.$Proxy17'
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:378)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:202)
at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:207)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1136)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1064)
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:585)
... 24 more


...全文
605 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
重庆的李开生 2017-02-04
  • 打赏
  • 举报
回复
我写得spring.xml配置文件:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns:context="http://www.springframework.org/schema/context"
	xmlns:aop="http://www.springframework.org/schema/aop"
	xsi:schemaLocation="http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.0.xsd
		http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
		http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd">
	<context:component-scan base-package="com.huangkai.pro.*">
		<context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller"/>
	</context:component-scan>
	<aop:aspectj-autoproxy></aop:aspectj-autoproxy>
</beans>
还有mvc.xml配置文件:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns:context="http://www.springframework.org/schema/context"
	xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
		http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd">
	<context:component-scan base-package="com.huangkai.pro.*" use-default-filters="false">
		<context:include-filter type="annotation" expression="org.springframework.stereotype.Controller"/>
	</context:component-scan>

</beans>
你参考一下,我估计你是spring的父子容器那一块没理解清楚!spring是父容器,springmvc是子容器
重庆的李开生 2017-02-04
  • 打赏
  • 举报
回复
我仿照你的代码写的,aop很正常
重庆的李开生 2017-02-04
  • 打赏
  • 举报
回复
你现在在吗?发吧
reachyou 2017-02-04
  • 打赏
  • 举报
回复
我把项目发给你你帮我看看行不?
reachyou 2017-02-04
  • 打赏
  • 举报
回复
就跟没加aop功能一样
reachyou 2017-02-04
  • 打赏
  • 举报
回复
是的,我也知道了 今天来改了以后,但是又有了新的问题,就是aop切面的功能没有执行啊
重庆的李开生 2017-02-04
  • 打赏
  • 举报
回复
昨晚我的eclipse出问题了,今早弄的
reachyou 2017-02-03
  • 打赏
  • 举报
回复
谢谢啦
重庆的李开生 2017-02-03
  • 打赏
  • 举报
回复
但是,我转念一想,就算你把@Controller交给spring管理了,应给也不会报错啊?我正在苦思
重庆的李开生 2017-02-03
  • 打赏
  • 举报
回复
其实,我最看始看到你的代码,里面有个@Controller组件,这个组件很特殊,这个组件需要交给mvc管理,结果你好像把这个组件交给spring管理了,所以我才想看看你的mvc到底有没有管理组件
重庆的李开生 2017-02-03
  • 打赏
  • 举报
回复
我正在看,嘿嘿
reachyou 2017-02-03
  • 打赏
  • 举报
回复
求解答
reachyou 2017-02-03
  • 打赏
  • 举报
回复
代码里面有啊 这里主要是用注解啊 所以spring和mvc配置文件里面东西很少 就一个包扫描和自动代理
重庆的李开生 2017-02-03
  • 打赏
  • 举报
回复
大哥,得要看你的spring.xml和mvc.xml里面怎么配置的?
reachyou 2017-02-03
  • 打赏
  • 举报
回复
求解答啊

67,512

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧