【问题标题】: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" });