控制台出现No qualifying bean of type [XXX.XXX] found for dependency,可能的原因是缺少必要的注解
这种项目基本的逻辑是:
service>serviceimpl>dao>dao.xml
这中间每一次调用service都需要使用注解
@Resource
private ArticleService articleService;
作用为:
@Resource
的作用相当于
@Autowired
,只不过
@Autowired
按 byType 自动注入,面
@Resource
默认按 byName 自动注入罢了。@Resource
有两个属性是比较重要的,分别是 name 和 type,Spring 将@Resource
注释的 name 属性解析为 Bean 的名字,而 type 属性则解析为 Bean 的类型
特别需要注意使用@resource注解需要jre1.7
实现service时也需要在类名前加注解
@Component
public class ArticleServiceImpl implements ArticleService
作用: 虽然我们可以通过
@Autowired
或
@Resource
在 Bean 类中使用自动注入功能,但是 Bean 还是在 XML 文件中通过 <bean> 进行定义 —— 也就是说,在 XML 配置文件中定义 Bean,通过
@Autowired
或
@Resource
为 Bean 的成员变量、方法入参或构造函数入参提供自动注入的功能。能否也通过注释定义 Bean,从 XML 配置文件中完全移除 Bean 定义的配置呢?答案是肯定的,我们通过 Spring 2.5 提供的
@Component
注释就可以达到这个目标了。
关于spring的注解可以参考这篇文章http://blog.csdn.net/xyh820/article/details/7303330/