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

按名称和类型检索Bean不起作用-FileNotFoundException

全卜霸
2023-03-14

我刚刚开始学习Spring,我面临以下问题。有人能指出我可能做错了什么吗?

package org.pus.learn;

import org.springframework.context.support.ClassPathXmlApplicationContext;

public class SpringTestApp {
    public static void main(String...args){
        ClassPathXmlApplicationContext test = new ClassPathXmlApplicationContext("applicationBean.xml",Coach.class);
        Coach testCoach = test.getBean("myCoach", Coach.class);
        System.out.println(testCoach.giveAdvice());
    }
}

线程“main”组织中出现异常。springframework。豆。工厂BeanDefinitionStoreException:IOException解析来自类路径资源[org/pus/learn/src/main/resources/applicationBean.XML]的XML文档;嵌套的例外是java。伊奥。FileNotFoundException:无法打开类路径资源[org/pus/learn/src/main/resources/applicationBean.xml],因为它在org上不存在。springframework。豆。工厂xml。XmlBeanDefinitionReader。loadBeanDefinitions(XmlBeanDefinitionReader.java:342)

这是我的项目结构

共有1个答案

阚正真
2023-03-14

启动应用程序时不需要初始化spring上下文,如

    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }

然后在任何Bean类中,您可以使用:

@Autowired // or better use constructor
private ApplicationContext applicationContext;

void yourMethod() {
  applicationContext.getBeansOfType(Coach.class);
}
 类似资料:
  • 我知道有可能通过名字得到一个类,使用 是否可以通过名称检索注释?我尝试了这个: 然后将c转换为

  • 我使用的是Spring Boot1.3,我有下面的配置类: 当我试图按名称注入下面的bean之一时,它抛出:没有定义[java.text.SimpleDateFormat]类型的合格bean:预期的是单个匹配bean,但找到了2:dateAndTimeFormater,DateFormater。 如有任何建议,将不胜感激?

  • 问题内容: 我正在读初春(威利出版社)的书。在第二章中有一个关于Java配置和Java的示例。它提供了这个类 还有这个普通的bean类 当我运行代码时,它可以工作。但是我期待一个异常,因为我在配置中定义了2个具有相同类型的bean。 我意识到它的工作原理是这样的: 如果Spring遇到多个具有相同类型的bean,它将检查字段名称。 如果找到具有目标字段名称的bean,则将该bean注入该字段。 这

  • 我正在读《初春》(威利出版社)的书。在第2章中,有一个关于Java配置和的示例。它提供了这个类 还有这个普通的豆类课 当我运行代码时,它就工作了。但我预期会出现异常,因为我在配置中定义了两个具有相同类型的bean。 我意识到它是这样工作的: 如果Spring遇到多个具有相同类型的bean,它将检查字段名。 这不对吗?Spring对Java配置的处理是否存在缺陷?

  • 我在java中有一个项目,我使用弹性搜索2.3.3对数据进行索引。索引有两种类型。 我的索引文档如下所示: 我只需要删除特定名称和类型的索引。 例如:-从上面的文档中,我想删除名为“test\u index”的索引,并键入“戏剧”。 因此,结果应该如下所示: 尝试的解决方案: 客户admin()。索引()。删除(new DeleteIndexRequest(“test\u index”)。acti

  • 我写了下面的代码: 但不幸的是,它给了我以下例外: servlet com.google.appengine.api.files中出现未捕获的异常。com.google.appengine.api.files.FileServiceImpl.translateException(FileServiceImple.java:597)中的FinalizationException位于com.goole