Spring注解注入问题
今天做一个SSM的登陆Demo,在使用注解将一个service注入的时候,总是报 org.springframework.beans.factory.NoSuchBeanDefinitionException: No matching bean of type [com.st.service.IUserService]
这样的错误,经过排查后找到问题所在,原因是IUserService的实现类没有添加注解。
使用Spring注解注入需要注意的几点:
1.applicationContext.xml配置文件中要定义扫描的范围
<!-- 开启注解扫描 -->
<context:component-scan base-package="com.st"/>
这里我为了方便直接全包扫描。
2.在要注入的IUserService的实现类上(注意是它的实现类),加上注解 @Service("userService") ,括号里的内容就是使用这个service时候的实例名。
3.在控制层使用该service时,进行如下定义
注意实例的名字就是第2步中注解里面括号里所定义的。注解使用@Autowired或者@Resource 都可以,可以自己搜一下这两者的区别。
测试: