SpringMVC 错误分析:@Autowired Could not autowire field
2015-09-25 11:42
411 查看
http://blog.sina.com.cn/s/blog_4e64ae7a0106grdp.html
在开发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;
在开发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;
相关文章推荐
- Java中的Callback 回调函数
- 黑马程序员---Java基础加强---JDK1.5新特性
- classLoader和javassist
- 5分钟用Spring4 搭建一个REST WebService
- test7.2
- Spring3中用注解直接注入properties中的值
- Java学习笔记【泛型数组列表ArrayList】
- java装饰器模式
- springmvc从页面带过来的参数乱码
- java学习开始
- Java并发编程:线程间协作的两种方式:wait、notify、notifyAll和Condition
- 最长上升子序列 O(nlogn)解法 (java)
- Google Java Style
- Maven搭建SpringMVC+Mybatis项目详解
- 设置springboot启动端口
- Java XML的总结(四)
- Struts2的crud
- 从Java代码到字节码
- Java XML的总结(三)--Dom解析
- Java XML的总结(二)--Dom4j