老师,在spring.xml文件中已经配置扫描注解 为什么运行测试时,还报这个错误

老师,在spring.xml文件中已经配置扫描注解 为什么运行测试时,还报这个错误

老师,在spring.xml文件中已经配置扫描注解

为什么运行测试时,还报这个错误


正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

3回答
好帮手慕阿满 2019-04-26 17:48:31

问一下同学数据库的配置是写在applicationContext.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"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
    http://www.springframework.org/schema/beans/spring-beans.xsd
    http://www.springframework.org/schema/context
    http://www.springframework.org/schema/context/spring-context.xsd">
    <import resource="applicationContext.xml"/>
    <context:component-scan base-package="com.imooc.os.service.impl2"/>
    <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
        <property name="dataSource" ref="dataSource"/>
    </bean>
    <bean id="transactionTemplate" class="org.springframework.transaction.support.TransactionTemplate">
        <property name="transactionManager" ref="transactionManager"/>
    </bean>
</beans>

或者同学下载老师的源码,对照一下再试试。

祝:学习愉快~

提问者 慕先生2101995 2019-04-26 13:52:19

这是spring-service-impl1.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:aop="http://www.springframework.org/schema/aop"
      xmlns:tx="http://www.springframework.org/schema/tx"
      xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">

   <import resource="applicationContext.xml"></import>

   <!--配置事务管理器-->
   <bean id="ptm" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
       <property name="dataSource" ref="dataSource"></property>
    </bean>
   <!--配置事务定义-->
   <bean id="td" class="org.springframework.transaction.support.DefaultTransactionDefinition">
   </bean>

   <!--扫描impl1包-->
   <context:component-scan base-package="com.imooc.os.service.impl1" />
</beans>




这是测试类:

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration("classpath:spring-service-impl1.xml")
public class OrderTest {
   @Autowired
   private OrderService orderService;
   @Test
   public void testAddOrder(){
       Order order = new Order("100006","100002",3,1599,"xiaoxiao","","");
       orderService.addOrder(order);

   }
}

好帮手慕阿满 2019-04-25 17:24:59

同学你好,报什么错误呢?建议同学将错误信息贴一下。

祝:学习愉快~

  • 提问者 慕先生2101995 #1
    Caused by: org.springframework.beans.factory.xml.XmlBeanDefinitionStoreException: Line 21 in XML document from class path resource [spring-service-impl2.xml] is invalid; nested exception is org.xml.sax.SAXParseException; lineNumber: 21; columnNumber: 73; cvc-complex-type.2.4.c: 通配符的匹配很全面, 但无法找到元素 'context:component-scan' 的声明。
    2019-04-25 22:11:41
  • 好帮手慕阿满 回复 提问者 慕先生2101995 #2
    同学你好,建议同学将xml中的代码贴一下,方便我们具体查看问题。贴代码时,记得贴在“我要回答”中,选择代码语言。祝:学习愉快~
    2019-04-26 10:55:02
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师