springmvc3.2.4+mybatis+junit4测试问题

滴水石穿 2016-03-04 03:26:17
错误信息如下:

org.springframework.beans.factory.BeanCreationException:
Error creating bean with name 'com.szqbl.szmb.test.JUnitDaoBase':
Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException:
Could not autowire field: public com.szqbl.lib.adjunct.service.AdjunctService com.szqbl.szmb.test.JUnitDaoBase.adjunctService;
nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException:
No qualifying bean of type [com.szqbl.lib.adjunct.service.AdjunctService] 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)}

测试代码如下:

package com.szqbl.szmb.test;


import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;

import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import org.springframework.transaction.annotation.Transactional;

import com.szqbl.twt.service.impl.CalendarServiceImpl;
/**
* <b>Summary: </b> TODO Junit 基础类,加载环境
* <b>Remarks: </b> TODO DAO测试基础类
*/
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = {"classpath*:/com/szqbl/twt/conf/spring-mybatis.xml,classpath*:/com/szqbl/twt/conf/spring-mvc.xml"})
@Transactional
public class JUnitDaoBase {

@Autowired
public CalendarServiceImpl calendarServiceImpl;

@Test
public void addUser(){

System.out.println(calendarServiceImpl);

}



}


配置文件一:/com/szqbl/twt/conf/spring-mybatis.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:tx="http://www.springframework.org/schema/tx"
xmlns:aop="http://www.springframework.org/schema/aop" xmlns:context="http://www.springframework.org/schema/context"
xmlns:util="http://www.springframework.org/schema/util" xmlns:task="http://www.springframework.org/schema/task"
xsi:schemaLocation="
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd
http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-3.0.xsd
http://www.springframework.org/schema/task http://www.springframework.org/schema/task/spring-task-3.0.xsd ">


<!-- transaction manager, use JtaTransactionManager for global tx -->
<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource" />
</bean>

<tx:annotation-driven transaction-manager="transactionManager" proxy-target-class="true" />

<!-- jdbc.properties文件路径 Oracle数据库连接池配置 -->
<bean
class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="location">
<value>classpath:com/szqbl/twt/conf/jdbc.properties</value>
</property>
</bean>
<bean name="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName" value="${jdbc.driver}" />
<property name="url">
<value><![CDATA[${jdbc.url}]]></value>
</property>
<property name="username" value="${jdbc.username}" />
<property name="password" value="${jdbc.password}" />
<property name="maxActive" value="${jdbc.maxActive}" />
<property name="maxIdle" value="${jdbc.maxIdle}" />
<property name="maxWait" value="300000" />
<property name="testOnBorrow" value="true" />
<property name="validationQuery" value="select sysdate from dual " />
</bean>

<!-- MyBatis sqlSessionFactory mapper实例创建需要 -->
<bean id="SqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="configLocation" value="classpath:com/szqbl/lib/conf/mybatis.xml" />
<property name="mapperLocations"
value="classpath*:com/szqbl/twt/dao/mapper/*.xml" />
</bean>

<!-- 扫描创建mapper代理 -->
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<property name="sqlSessionFactoryBeanName" value="SqlSessionFactory" />
<property name="basePackage" value="com.szqbl.twt.dao" />
</bean>

</beans>

配置文件二:com/szqbl/twt/conf/spring-mvc.xml


<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xsi:schemaLocation="
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd
http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd">

<!-- 自动扫描com.szqbl.qxfz包下的所有类,使其认为spring mvc的控制器 -->
<context:component-scan base-package="com.szqbl.lib" />
<context:component-scan base-package="com.szqbl.twt" />

<!-- <mvc:annotation-driven /> -->
<mvc:annotation-driven>
<mvc:message-converters>
<bean
class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter">
<property name="objectMapper" ref="customObjectMapper"></property>
</bean>
</mvc:message-converters>
</mvc:annotation-driven>
<bean id="customObjectMapper" class="com.szqbl.lib.util.CustomObjectMapper"></bean>
<!-- 静态资源 -->
<mvc:default-servlet-handler />

<mvc:interceptors>
<!-- 鉴权拦截器 -->
<bean class="com.szqbl.lib.auth.interceptor.AuthInterceptor"></bean>
</mvc:interceptors>
<bean
class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping" />
<bean
class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter" />

<bean id="springBeanUtil" class="com.szqbl.lib.util.SpringBeanUtil"></bean>

<bean
class="org.springframework.web.servlet.view.ContentNegotiatingViewResolver">
<property name="mediaTypes">
<map>
<!-- 告诉视图解析器,返回的类型为json格式 -->
<entry key="json" value="application/json" />
</map>
</property>
<property name="defaultViews">
<list>
<!-- ModelAndView里的数据变成JSON -->
<bean
class="org.springframework.web.servlet.view.json.MappingJacksonJsonView" />
</list>
</property>
</bean>

<bean id="multipartResolver" class="com.szqbl.lib.controller.CustomMultipartResolver">
<property name="defaultEncoding" value="UTF-8" />
<property name="maxUploadSize" value="10485760000" />
</bean>

<!-- 对模型视图名称的解析,即在模型视图名称添加前后缀 -->
<bean
class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/views/" />
<property name="suffix" value=".jsp" />
</bean>

</beans>

...全文
1260 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
采桑人 2018-04-19
  • 打赏
  • 举报
回复
实体 中 依赖注入错误
qq_32513003 2017-08-21
  • 打赏
  • 举报
回复
楼主怎么解决的我也遇到这问题
滴水石穿 2016-03-15
  • 打赏
  • 举报
回复
又没有人说一句的
滴水石穿 2016-03-05
  • 打赏
  • 举报
回复
没有人知道?

5,006

社区成员

发帖
与我相关
我的任务
社区描述
解读Web 标准、分析和讨论实际问题、推动网络标准化发展和跨浏览器开发进程,解决各种兼容性问题。
社区管理员
  • 跨浏览器开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧