我刚开始学习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文件?
提前谢谢!
答案 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文件放在带有指定命名空间的类路径中