spring定义bean的xml文件应该放在什么地方的?为什么

时间:2022-10-08 19:10:14
BeanFactory factory=
new XmlBeanFactory(new FileSystemResource("hello.xml"));
会抱错,“系统找不到指定文件”
hello.xml放在WEB-INF下的。
再问一下,用BeanFactory好还是用applicationContext?

6 个解决方案

#1


new FileSystemResource该怎么写呢

#2


给你你的xml文件的绝对路径。

#3


绝对路径?在我的电脑上可以给出绝对路径,但要是传到主机上不知道绝对路径,那这样的设置就不行了?有没有更好的方法

#4


如果你写成这样
BeanFactory factory = new XmlBeanFactory(new FileSystemResource("hello.xml"));
通过XmlBeanFactory去构造BeanFactory,那么你在未发布到tomcat下做程序测试,那么必须把hello.xml放在src目录下面,我现在应用程序在开发的时候有两个ApplicationConetext.xml,两个是一样,但位置不一样,如果你发布了,你去看下你应用程序在tomcat下文件夹有那些,是怎么生成的。。。

#5


如果applicationContext.xml和web.xml都在WEB-INF下,则在web.xml做如下配置:
  <servlet>
    <servlet-name>context</servlet-name>
    <servlet-class>org.springframework.web.context.ContextLoaderServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
  </servlet>
  <context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>/WEB-INF/applicationContext.xml</param-value>
  </context-param>

#6


应该放在WEB-INF下.
推荐使用applicationContext,比BeanFactory功能强很多.

#1


new FileSystemResource该怎么写呢

#2


给你你的xml文件的绝对路径。

#3


绝对路径?在我的电脑上可以给出绝对路径,但要是传到主机上不知道绝对路径,那这样的设置就不行了?有没有更好的方法

#4


如果你写成这样
BeanFactory factory = new XmlBeanFactory(new FileSystemResource("hello.xml"));
通过XmlBeanFactory去构造BeanFactory,那么你在未发布到tomcat下做程序测试,那么必须把hello.xml放在src目录下面,我现在应用程序在开发的时候有两个ApplicationConetext.xml,两个是一样,但位置不一样,如果你发布了,你去看下你应用程序在tomcat下文件夹有那些,是怎么生成的。。。

#5


如果applicationContext.xml和web.xml都在WEB-INF下,则在web.xml做如下配置:
  <servlet>
    <servlet-name>context</servlet-name>
    <servlet-class>org.springframework.web.context.ContextLoaderServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
  </servlet>
  <context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>/WEB-INF/applicationContext.xml</param-value>
  </context-param>

#6


应该放在WEB-INF下.
推荐使用applicationContext,比BeanFactory功能强很多.