解决 org.springframework.beans.factory.BeanNotOfRequiredTypeException: Bean named 'userService' must
出现如下错误
org.springframework.beans.factory.BeanNotOfRequiredTypeException: Bean named 'userService' must be of type [org.test.service.impl.UserService], but was actually of type [$Proxy18]
1使用类注入: @Resource private UserService userService; 2使用接口注入: @Resource() private IUserService userService;
代码1不能使用JDK的动态代理注入,原因是jdk的动态代理不支持类注入,只支持接口方式注入;
代码2可以使用jdk动态代理注入;
如果要使用代码1的方式,必须使用cglib代理;
当然了推荐使用代码2的方式,基于接口编程的方式!
关于spring动态代理的配置: 1.使用aop配置: <aop:config proxy-target-class="false"> </aop:config> 2. aspectj配置: <aop:aspectj-autoproxy proxy-target-class="true"/> 3. 事务annotation配置: <tx:annotation-driven transaction-manager="transactionManager" proxy-target-class="true"/> 3种配置,只要使用一种即可,设置proxy-target-class为true即使用cglib的方式代理对象。
参考:http://ekisstherain.iteye.com/blog/1569236
来源://作者:/更新时间:2014-12-03
顶
踩
相关文章:
- 解决 org.springframework.beans.factory.BeanCreatio
- 【解决】Caused by: org.apache.tiles.definition.Def
- springmvc controller跳转到下一个controller,action
- 解决java.util.concurrent.ExecutionException: org.a
- 解决com.fasterxml.jackson.databind.JsonMappingExce
- springmvc controller返回字符串乱码
- junit java.lang.NoClassDefFoundError: net/minidev/
- junit java.lang.NoClassDefFoundError: com/jayway/j
- springmvc项目进行junit测试方法
- springmvc 文件上传报错org.springframework.web.util