【问题标题】:Where do you define spring bean configuration files你在哪里定义spring bean配置文件
【发布时间】:2010-12-20 03:31:13
【问题描述】:

我将我的spring bean配置文件分开如下:

myapp-service.xml myapp-servlet.xml

但是我得到了错误;

在 ServletContext 资源 [/WEB-INF/myapp-servlet.xml] 中创建名称为“beanName”的 bean 时出错:设置 bean 属性“beanService”时无法解析对 bean“beanService”的引用;嵌套异常是 org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'beanService' is defined

我需要做的(我认为)就是弄清楚如何告诉 Spring 读取定义 beanService 路径的 myapp-service.xml 文件。

这是在哪个文件/位置完成的?

谢谢

【问题讨论】:

    标签: java spring exception configuration


    【解决方案1】:

    它在您的 web.xml 中定义:

    <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>/WEB-INF/applicationContext.xml</param-value>
    </context-param>
    

    您也可以在 myapp-servlet.xml 中添加:

    <import resource="myapp-service.xml"/>
    

    【讨论】:

      【解决方案2】:

      如果您想包含更多 applicationContext 文件并且确实正在开发 Web 应用程序:

      <context-param>
      <param-name>contextConfigLocation</param-name>
      <param-value>
      /WEB-INF/applicationContext-1.xml,
      /WEB-INF/applicationContext-2.xml
      </param-value>
      </context-param>
      

      通配符也有效,applicationContext* 在这里也有同样的效果。

      如果您是手动引导 spring 上下文,例如从代码中:

      ApplicationContext context = 
      new ClassPathXmlApplicationContext(new String[] { "applicationContext-1.xml", "applicationContext-2.xml" });
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-10-28
        • 2014-05-05
        • 1970-01-01
        • 1970-01-01
        • 2012-12-01
        • 1970-01-01
        • 2019-07-01
        相关资源
        最近更新 更多