【问题标题】:Spring At least one base package must be specified exceptionSpring 必须指定至少一个基础包异常
【发布时间】:2013-06-13 04:39:06
【问题描述】:

当我编译我的项目时,它会给出这个错误并停止编译

org.springframework.beans.factory.BeanDefinitionStoreException: 从 ServletContext 资源解析 XML 文档时出现意外异常 [/WEB-INF/application-context.xml];嵌套异常是 java.lang.IllegalArgumentException:必须至少有一个基础包 指定

为什么会发生这个异常以及我如何解决它。

【问题讨论】:

  • 分享你的 application-context.xml
  • 检查一下你是否正确地提到了Controllers或Services的完整包路径。
  • 问题可能是您配置了注释驱动的上下文配置,但没有指定任何component-scan 路径
  • 尝试添加<context:component-scan base-package="<your-app-base-package>"
  • 感谢您的回答。上下文:组件扫描基础包为空。

标签: java spring exception compiler-errors


【解决方案1】:

根据 Spring 文档

Spring 提供了自动检测“原型”类并使用 ApplicationContext 注册相应 BeanDefinition 的能力。要自动检测这些类并注册相应的 bean,需要在 XML 中包含以下元素,其中“basePackage”将是两个类的公共父包(或者可以指定一个逗号分隔的列表,其中包括每个类的父包类)。

因此您的应用程序上下文应如下所示:

<?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-3.0.xsd
           http://www.springframework.org/schema/context
           http://www.springframework.org/schema/context/spring-context-3.0.xsd">

     <context:component-scan base-package="org.example"/>

</beans>

要使您的包能够通过component-scan 进行扫描,您应该根据要求使用相应的注释来注释您的 java 类。像@Controllers@Service 等。 查看完整详情here

【讨论】:

    【解决方案2】:
    <context:component-scan base-package="Your package">
    
    </context:component-scan>
    

    尝试在你的配置文件中添加这个

    【讨论】:

      【解决方案3】:

      来自我上面的cmets

      原因可能是您在应用程序上下文中启用了注释驱动的上下文配置 (&lt;context:annotation-config&gt;&lt;/context:annotation-config&gt;),但您必须提供任何基础包来扫描 Spring bean。

      将应用程序的根包添加为基础包以扫描 bean 定义

      <context:component-scan base-package="<your-app-base-package>"/>
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-01-13
        • 2021-09-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多