eclipse Maven配置SSM整合常见错误---- Spring bean注入失败 No qualifying bean of type

前言

最近在配置项目,由于第一次用SSM整合,难免遇到各种各样的问题,特此记录,以示警戒

问题一: Spring bean注入失败 No qualifying bean of type

异常情况
1
大概讲的就是没有找到合适的bean,spring注入失败

原因:

  • (本人情况):由于这个bean是个Mapper接口用来和数据库交互,且需要Mybatis实现注入spring容器才能使用,分析下原因应该是mybatis没有扫描到这个bean虽然application.xml已经配好了Mybatis可是还是没有用 ((´-_-)-_-)-_-)
<!--定位bean  -->
   <bean id="sqlSession" class="org.mybatis.spring.SqlSessionFactoryBean">
   	<property name="typeAliasesPackage" value="com.rightstar.bean" />
   	<property name="dataSource" ref="dataSource"/>
   	<property name="mapperLocations" value="classpath:com/rightstar/bean/**/*.xml"/>	
   </bean>
   
   <!--mybatis定位beanMapper配置  -->
   <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
   	<property name="basePackage" value="com.righstar.bean.mapper"/>
   	<property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"></property>
   </bean>

解决办法:

  • 使用@MapperScan进行mybatis的依赖注入

@Service("BooksService")

/*业务层导入mybatis的mapper接口映射
*重要 由于@Mapper映射莫名消失
*/
@MapperScan("com.rightstar.bean")
public class BooksServiceImpl implements BooksService {
	@Autowired
	BooksMapper BM;
	
	public List<Books> list(){
		List<Books> l =new ArrayList<Books>();
		System.out.println("业务层查询...");
		for(Books book:BM.pageList(10))
			System.out.println(book.getName());
		return BM.pageList(10);
	};
	public List<Books> list(int offset,int pagesize){
		List<Books> l =new ArrayList<Books>();
		return l;
	};

}
posted @ 2020-10-24 12:08  rightstar  阅读(277)  评论(0)    收藏  举报