关于网友提出的“spring-mybatis 为什么spring的注解得到值为null呢”问题疑问,本网通过在网上对“spring-mybatis 为什么spring的注解得到值为null呢”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:
问题:spring-mybatis 为什么spring的注解得到值为null呢
描述:本帖最后由 coolboyyzy 于 2013-03-22 11:15:08 编辑
spring
controller
@Component
public class IndexController implements Controller {
private CategoryService categoryService;
public CategoryService getCategoryService() {
return categoryService;
}
@Resource
public void setCategoryService(CategoryService categoryService) {
this.categoryService = categoryService;
}
public ModelAndView handleRequest(HttpServletRequest request,
HttpServletResponse response) throws Exception {
System.out.println("categoryService:"+categoryService);
List list=categoryService.list();
request.setAttribute("list",list);
return new ModelAndView("common/index");
}
}
错误:打印categoryService:null
service:
@Component("categoryService")
public class CategoryServiceImpl implements CategoryService {
private CategoryDAO categoryDAO;
public CategoryDAO getCategoryDAO() {
return categoryDAO;
}
@Resource
public void setCategoryDAO(CategoryDAO categoryDAO) {
this.categoryDAO = categoryDAO;
}
public List list() {
return categoryDAO.list();
}
}
daoimpl:
@Component("categoryDAO")
public class CategoryDAOImpl implements CategoryDAO {
private HibernateTemplate hibernateTemplate;
public HibernateTemplate getHibernateTemplate() {
return hibernateTemplate;
}
@Resource
public void setHibernateTemplate(HibernateTemplate hibernateTemplate) {
this.hibernateTemplate = hibernateTemplate;
}
public List list() {
return hibernateTemplate.find(" from Category");
}
}
解决方案1: @Resource
public void setCategoryService(CategoryService categoryService) {
this.categoryService = categoryService;
}
把@Resource改成@Resource(name="categoryService")试试
解决方案2:
那我说的多余了
解决方案3: @Autowired 在定义 private CategoryService categoryService;的上面
解决方案4:
sorry,不过我不清楚@Resource能不能用于注解,看到的多好像是@Autowired
解决方案5: 好像是用了注解方式注入,那setter或field上得有相应的注解啊
以上介绍了“spring-mybatis 为什么spring的注解得到值为null呢”的问题解答,希望对有需要的网友有所帮助。
本文网址链接:http://www.codes51.com/itwd/1797936.html