TAG

RSS订阅

收藏本站

设为首页

当前位置:主页 > 服务端开发 > Java开发 > Spring开发学习 >

Could not autowire method: public void com.javademo.spring.m

发布时间:2015-11-13 00:06 类别:Spring开发学习

Could not autowire method: public void com.javademo.spring.mybatis.dao.UserDao.setSqlSessionFactory(org.apache.ibatis.session.SqlSessionFactory)
 
在开发SpringMVC中碰到了组件不能@Autowired的错误,以前好像也碰到过,怎么解决的忘记了,今天记在这里。可供碰到同样问题的朋友参考。
 
下面是Controller组件:
@Controller
public class ManageUserController {
    private UserService userService;
   
    @Autowired   //此处自动注入userService
    public void setUserService(UserService userService) {
        this.userService = userService;
    }
   .....
}
 
其中Service组件为:
@Transactional
@Service("userService")
public class UserService implements UserServiceInf {
    private UserDao userDao;
   
   
    @Autowired
    public void setUserDao(UserDao userDao) {
        this.userDao = userDao;
    }
 
   
    public void createUser(User user) {
        this.userDao.createUser(user);
    }
  ....
}
 
运行系统后总是出现userService不能autowired注入的错误。 费了半天劲,最后总是解决了。Spring的注入基于接口实现,基于接口的方式一是可以使得各个组件松耦合,而且也可以轻松的替代某一组件。
所以应该讲组件引用改为接口方式。
Controller组件中的userService组件应
由:private UserService userService;
改为: private UserServiceInf userService;
 
同理Service组件中的userDao组件应
由: private UserDao userDao;
改为: private UserDaoInf userDao;
猜你会喜欢....

Copyright © 2015 www.wahenzan.com 哇!很赞 版权所有 浙ICP备14030256号-1 Power by DedeCms

浙公网安备 33010602005986号

声明:本站所有文章除标明原创外,均来自网络转载,版权归原作者所有,如果有侵犯到您的权益,请联系本站删除 网站管理员:758763728

360网站安全检测平台