java中的主程序无法打开Spring bean配置文件

时间:2014-01-26 19:45:20

标签: java xml spring javabeans

我刚开始学习Spring Framework,安装了Eclipse并添加了Spring和Maven。我做了我的第一个程序,当然是Hello World,但是使用了spring beans。 一切都是“按书”,我做了一些类,让我们说Person,以及将在xml spring beans配置文件中通过bean实例化它的主类。我在我的项目中创建了beans.xml文件,就像在book示例中一样,并编写了以下代码:

package maven.aplikacije.Person;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class App 
{
 public static void main( String[] args )
 {
    ApplicationContext ac = new ClassPathXmlApplicationContext("beans.xml");
    Person helloBean = (Person)ac.getBean("person");
    helloBean.sayHello();
 }
 }

这是一个beans.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"
xsi:schemaLocation="http://www.springframework.org/schema/beans      http://www.springframework.org/schema/beans/spring-beans.xsd">
<bean id = "person" class = "maven.aplikacije.Person.Person"></bean>

</beans>

然而,它不起作用。它列出了以下错误(其中包括):

信息:从类路径资源[Person / beans.xml]加载XML bean定义 线程“main”中的异常org.springframework.beans.factory.BeanDefinitionStoreException:IOException从类路径资源[Person / beans.xml]解析XML文档;嵌套异常是java.io.FileNotFoundException:无法打开类路径资源[Person / beans.xml],因为它不存在

我试着写

ApplicationContext ac = new ClassPathXmlApplicationContext("Person//beans.xml");

和更多不同的版本但没有任何作用。 当然,我也定义了Person类。 :)

为什么不编程“看”beans.xml文件?

提前谢谢!

1 个答案:

答案 0 :(得分:1)

Person/beans.xml路径引用它时,

ApplicationContext ac = new ClassPathXmlApplicationContext("Person//beans.xml");

您需要将beans.xml放在maven项目的以下位置

src/main/resources/Person/beans.xml

如果您尝试阅读

ApplicationContext ac = new ClassPathXmlApplicationContext("beans.xml");

然后

src/main/resources/beans.xml

或者你可以把它放在任何地方并配置maven将beans.xml文件放在带有指定命名空间的类路径中