当前位置: 首页 > 知识库问答 >
问题:

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

史良哲
2023-03-14

我刚开始学习Spring框架,安装了Eclipse并添加了Spring和Maven。我制作了我的第一个程序,当然是Hello World,但使用的是spring beans。一切都是“按书”进行的,我创建了一些类,比如Person,和主类,它们将通过xml spring 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();
 }
 }

这是一颗豆子。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>

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

信息:从线程“main”组织中的类路径资源[Person/beans.XML]异常加载XMLBean定义。springframework。豆。工厂BeanDefinitionStoreException:IOException解析来自类路径资源[Person/beans.XML]的XML文档;嵌套的例外是java。伊奥。FileNotFoundException:无法打开类路径资源[Person/beans.xml],因为它不存在

我试着写作

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

还有很多不同的版本,但都不管用。当然,我还定义了Person class.:)

为什么程序不能“看到”bean。xml文件?

提前谢谢!

共有1个答案

葛威
2023-03-14

当您从类路径Person/beans.xml引用它时,

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

您需要放置bean。xml在maven项目的以下位置

src/main/resources/Person/beans.xml

如果你试着阅读

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

然后呢

src/main/resources/beans.xml

或者你可以把它放在任何地方,配置mavenbeans.xml文件放在指定的命名空间的类路径中

 类似资料:
  • 我想制作一个AngularJS Spring MVC Hibernate MySQL应用程序。我不知道如何配置SpringBean,这样我就可以对我的存储库和实体类使用自动连接的注释。 pom.xml依赖: 实体类: 的存储库: 的控制器: 配置类:

  • 我正在为一个项目使用完全基于java的配置。 部署webapp时,我得到以下错误: 问题是我不明白为什么Spring在我注册类配置时尝试加载XML配置: WebappInitializer: Webapp配置: 知道吗?

  • 我想打开一个PDF文件时,用户点击一个按钮。目前,我正在使用这段代码来实现这一点: 但不管用。 当我选择使用Adobe Acrobat时,我会得到一条显示为Toast的消息,它说 当我尝试使用Drive PDF Viewer时,我得到 PDF文件存储在 问题出在哪里? 编辑 现在我使用的是以下代码: 但当我尝试通过点击按钮打开PDF时,应用程序崩溃了。 这是我得到的日志: 这是我的课: } 有人能

  • 本文向大家介绍Java程序开发环境配置图文教程,包括了Java程序开发环境配置图文教程的使用技巧和注意事项,需要的朋友参考一下 1、前言 我学习Java已经将近一个月的时间了,从一个小白开始慢慢摸索,现在已经逐渐进入状态,学会了一些东西,故将自己从0开始的经历分享出来。我们要使用Java编写程序首先需要在计算机中搭建Java的开发环境,本文包含JDK的安装和Java编译环境配置的方法,不足之处请多

  • 我正试图从我的java类中打开Google网站来测试Selenium。 启动端口36521上的ChromeDriver 75.0.3770.90(A6DCAF7E3EC6F70A194CC25E8149475C6590E025-Refs/Branch-Heads/3770@{#1003})。只允许本地连接。 请保护ChromeDriver和相关测试框架使用的端口,以防止恶意代码访问。 线程“mai

  • 假设我有一个按钮的侦听器 “vis1.exe”将毫无问题地执行,它将打开,但如果我有一个带有“.bat”扩展的应用程序,就像它是(vis1.bat),它不会打开。注意:.bat扩展名是可执行文件