gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-01 13:34:52 25 4
gpt4 key购买 nike

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

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>

但是,它不起作用。它列出了以下错误(除其他外):

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

我试着写

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

还有很多不同的版本,但没有任何效果。当然,我还定义了Person类。 :)

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

提前谢谢您!

最佳答案

当您从 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文件放在指定命名空间的类路径中

关于java - java中的主程序无法打开Spring bean配置文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21368320/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com