错误
org.springframework.context.support.AbstractApplicationContext.refresh Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name ‘studentServiceImpl’: Unsatisfied dependency expressed through field ‘studentMapper’; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name ‘studentMapper’ defined in file [E:\xxx\ssm2\target\ssm2\WEB-INF\classes\com\xxx\ssm\mapper\StudentMapper.class]: Cannot resolve reference to bean ‘sqlSessionFactory’ while setting bean property ‘sqlSessionFactory’; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name ‘sqlSessionFactory’ defined in file [E:\xxx\ssm2\target\ssm2\WEB-INF\classes\spring-mybatis.xml]: Cannot resolve reference to bean ‘dataSource’ while setting bean property ‘dataSource’; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named ‘dataSource’ available
解决
- 1 @Controller、@Service和@Resource/@Autowired等注解都加上
- 2 开启扫描注解
//srping-comtext.xml(spring配置文件)
<context:component-scan base-package="com.xxx.springMVC"/>
- 3 注意查看最后一句错误 ------No bean named ‘dataSource’ available
没有找到数据源
1.如果数据源bean与sqlSessionFactory配置数据源文件所处位置不一致,那么请注意数据源bean所处的文件是否加载进入web容器
2.如果数据源bean与sqlSessionFactory配置数据源文件所处位置一致,数据源id与property ref值必须相同
//数据源id与property ref值必须相同
<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource"></bean>
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource"/>
</bean>