昨天想整合下springmvc和mybatis,用junit写了个测试,测试过程中,mybatis的mapper无法注入,报BeanCreationException,相关信息大家看下,帮小弟解决下
1 错误堆栈信息
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'com.hft.dal.mapper.AccountMapperTest': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire field: private com.hft.dal.mapper.AccountMapper com.hft.dal.mapper.AccountMapperTest.accountMapper; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No matching bean of type [com.hft.dal.mapper.AccountMapper] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}
2 applicationContext.xml
<context:component-scan base-package="com.hft" />
<context:annotation-config />
<tx:annotation-driven />
<bean id="dataSource"
class="org.springframework.jdbc.datasource.DriverManagerDataSource"
destroy-method="close">
<property name="driverClassName" value="com.mysql.jdbc.Driver" />
<property name="url" value="jdbc:mysql://127.0.0.1:3306/test" />
<property name="username" value="root" />
<property name="password" value="root" />
</bean>
<bean id="transactionManager"
class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource" />
</bean>
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="mapperLocations">
<list>
<value>classpath*:com/hft/dal/mapper/*Mapper.xml</value>
</list>
</property>
</bean>
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<property name="basePackage" value="com.hft.dal.mapper" />
<property name="markerInterface" value="com.hft.dal.mapper.MarkerInterfaceMapper" />
</bean>
3 AccountMapper类,MarkerInterfaceMapper是个空接口
public interface AccountMapper extends MarkerInterfaceMapper {
public List<Account> getAllAccount();
public void addAccount(Account account);
}
4 junittest类
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations={"classpath*:applicationContext.xml"})
public class AccountMapperTest extends AbstractJUnit4SpringContextTests{
@Autowired
private AccountMapper accountMapper;
@Test
public void testGetAllAccount() {
System.out.println(accountMapper.getAllAccount().size());
}
5 所引入的的包
6 项目目录结构
相关推荐
- `mybatis-spring.jar`:Spring与MyBatis的整合库,提供Spring Bean与MyBatis的Mapper接口之间的绑定。 除了这些核心jar包,还有一些其他的依赖库,例如: - `log4j.jar` 或 `slf4j-api.jar + slf4j-log4j12.jar`...
在"Spring/SpringMVC/MyBatis整合+事务回滚"的主题中,我们将深入探讨如何将这三个框架整合起来,并实现事务的回滚功能。 首先,Spring框架是核心,它提供了依赖注入(DI)和面向切面编程(AOP)的能力,使得代码更...
在Java开发领域,Spring框架和MyBatis框架的整合是常见的数据访问技术组合。Spring作为一个全面的开源应用框架,提供依赖注入(DI)和面向切面编程(AOP)等功能,而MyBatis则是一个轻量级的持久层框架,专注于SQL...
ssm框架脚手架java基础配置文件Spring/SpringMVC/MyBatis eclipse下。ssm框架脚手架java基础配置文件Spring/SpringMVC/MyBatis eclipse下。ssm框架脚手架java基础配置文件Spring/SpringMVC/MyBatis eclipse下。...
改代码是我的我的一个项目自己写完后自测所以就写了这个junit的单元测试类,以及可能会遇到的一些问题,以及其中的一些经验,项目用的是spring + mybatis。我写的这个测试类基本概括了单元测试的基本用法,只要按照...
Spring 和 Mybatis 是两个在...通过上述内容,我们可以看到Spring-Mybatis整合涉及到的核心知识点,包括框架的引入、配置、接口设计、事务管理和测试等多个方面。理解并掌握这些知识点,对于进行Java Web开发至关重要。
在Java开发中,Spring框架和MyBatis框架的整合是常见的数据访问技术组合。Spring作为一个全面的轻量级应用框架,提供了依赖注入、面向切面编程等功能,而MyBatis则是一个灵活的SQL映射框架,它允许开发者将SQL语句...
下面我们将深入探讨如何将Spring与MyBatis进行整合,并构建一个可运行的小项目。 1. **Spring框架**:Spring是Java应用开发的一个全功能框架,它提供了IoC(Inversion of Control)和AOP(Aspect-Oriented ...
总结,这个压缩包提供了一个完整的Spring MVC和MyBatis整合的示例,包含了数据库脚本和详尽的注释,无论你是初学者还是有经验的开发者,都能从中受益。通过研究源码,你可以掌握Web应用的开发流程,理解Spring MVC和...
这是一个基于Spring3、MyBatis3和JUnit4的可运行项目示例,旨在提供一个完整的、可测试的Java Web应用程序框架。这个项目的核心是利用Spring作为应用的ioc(Inversion of Control,控制反转)和aop(Aspect Oriented...
在IT行业中,Spring框架与Mybatis的整合是常见的企业级应用开发模式,它结合了Spring的强大功能和Mybatis的灵活性,使得数据访问更加高效。本文将深入探讨如何进行"Spring整合Mybatis"的基础搭建,以及涉及到的相关...
"03.Spring和MyBatis整合-全注解配置"可能进一步深入到如何在不使用XML配置的情况下,完全依赖注解来完成Spring和MyBatis的整合。这包括在Service层使用@Autowired注解注入Mapper接口,以及在Mapper接口的方法上使用...
在Java Web开发中,Spring、SpringMVC和Mybatis是三个非常重要的框架,它们的整合可以构建出高效、灵活的企业级应用。这个压缩包“Spring-SpringMVC-Mybatis整合所有jar包”包含了这三个框架整合所需的全部依赖,...
在IT行业中,构建Java应用程序时,常常会使用到"Maven+Spring+MyBatis+JUnit"这样的技术栈。这是一个高效且灵活的组合,能够帮助开发者快速地开发、测试和部署项目。下面将详细阐述这些技术及其在实际项目中的应用。...
"spring+mybatis整合包"是指将这两个框架进行集成,以实现更加高效和灵活的Java开发。下面将详细阐述Spring与MyBatis的整合过程、各自的核心功能以及它们在实际项目中的应用。 1. Spring框架:Spring是Java领域最...
7. **测试**:最后,编写单元测试或者集成测试,验证 Spring 和 Mybatis 整合后的功能是否正常工作。 通过以上步骤,你就可以实现 Spring 和 Mybatis 的基本整合。在实际项目中,你可能还需要考虑异常处理、日志...
7. **测试**:完成上述配置后,通过单元测试或者运行应用进行测试,确保Spring和MyBatis能够正确整合并执行数据库操作。 提供的"SpringMvc+Spring+Mybatis+Maven整合示例源码.7z"文件可能包含一个完整的整合示例,...
7. **测试与调试**:在整合完成后,可以编写JUnit测试用例,检查Spring和MyBatis的整合是否成功。同时,使用日志工具(如Log4j或Logback)可以帮助调试和跟踪执行的SQL语句。 总的来说,Spring与MyBatis的整合利用...
8. **测试**:编写JUnit测试用例,验证Spring和MyBatis的整合是否正确,确保数据访问和业务逻辑的正确性。 在"SSHM文档"中,可能包含了更详细的步骤说明、配置示例以及运行示例项目的指导。通过这个教程,你可以...
**SpringMVC、Spring和Mybatis是Java Web开发中的三大核心框架,它们的整合使用能够构建出高效、灵活的企业级应用程序。本DEMO将详细展示如何将这三个框架整合在一起,以便于开发者理解并掌握其集成过程。** 首先,...