Весенняя инъекция зависимости: исключение FileNotFound

enter image description here

Я изучаю весеннее внедрение зависимости. У меня есть 2 типа кода. Каждый работает, и каждый не делает... Но, они оба работают на человека, который сделал обучающую программу.

Прокомментированный код дает мне ошибку, показанную ниже.

    @SuppressWarnings("deprecation")
public static void main(String[] args) {

    //ApplicationContext factory = new ClassPathXmlApplicationContext("Beans.xml");

    //The code below works
    BeanFactory factory = new XmlBeanFactory(new FileSystemResource("Beans.xml"));
    HelloWorld obj = (HelloWorld) factory.getBean("helloworld");

    obj.getMessage();
}

Beans.xml

 <?xml version="1.0"?>



    
        
    

Error message when I use ApplicationContext

Исключение в нити "главный" org.springframework.beans.factory. BeanDefinitionStoreException: IOException, разбирающий XML-документ от ресурса пути к классу [Beans.xml]; вложенная исключительная ситуация - java.io. FileNotFoundException: ресурс пути к классу [Beans.xml] не может быть открыт, потому что это не существует

1
nl ja de
файл Beans.xml или файл beans.xml? проверить случай?
добавлено автор Jerome Cance, источник
поместите свои Beans.xml в тот же самый справочник класса, которые называют его. При использовании знатока, можно поместить его в папку ресурса.
добавлено автор Jerome Cance, источник
Это - то же самое в IDE. @JeromeC.
добавлено автор AppSensei, источник
@ClaudioFernandez, Как я удостоверяюсь в этом? Я открыл свою папку классов.. ничего не видел названного Beans.xml
добавлено автор AppSensei, источник
Куда вы помещали свой файл Beans.xml? Это в исходной папке (это становится скопированным к вашей папке классов каждый раз, когда вы собираете свое приложение)?
добавлено автор Claudio, источник

2 ответы

Для XmlBeanFactory , чтобы работать, <закодируйте> Beans.xml должен был бы быть в том же самом справочнике как класс запроса.

Легкая альтернатива, удостоверяются, что Beans.xml расположен в вашем пути к классу. Вы могли скопировать их в src\resources и затем использовать:

ApplicationContext applicationContext = new ClassPathXmlApplicationContext("Beans.xml");
HelloWorld obj = (HelloWorld) applicationContext.getBean("helloworld");

ClassPathXmlApplicationContext is more convenient as absolute file locations do not need to be specified.

Примечание: С Весны 3.1 XmlBeanFactory является a устаревший то, что означает, что альтернатива, такая как это должна использоваться, должно вы изменяться от 3.0.

2
добавлено
Это РАБОТАЛО!!Thank You... Просто любопытный what' s пункт наличия этих двух типов кодов?
добавлено автор AppSensei, источник
Они - различные читатели, , XmlBeanFactory не читает от пути к классу по умолчанию.
добавлено автор Reimeus, источник

Для ClassPathXmlApplicationContext , Прикладной XML-файл Контекста должен будет быть доступным в вашем ClassPath.

Если вы будете использовать стандартное расположение каталога Maven, вы захотите поместить ваш Beans.xml файл в src/main/resources .

If you are running from your IDE (it looks like you are using Eclipse from your screenshot, though you did not explicitly state your IDE), you will want to go into your Properties->Java Build Path and add src/main/resources to the build path.

Удача, надейтесь, что это помогает!

1
добавлено
pro.jvm
pro.jvm
3 503 участник(ов)

Сообщество разработчиков Java Scala Kotlin Groovy Clojure Чат для нач-их: @javastart Наш сайт: projvm.com projvm.ru Наш канал: @proJVM Вакансии: @jvmjobs Конфы: @jvmconf

Java & Co
Java & Co
2 370 участник(ов)

Можно обсуждать с матом и без всё, что касается жабы, вплоть до холиваров. НЕ ИМЕЕТ ОТНОШЕНИЯ К САЙТУ JAVARUSH.RU ПРАВИЛА - https://t.me/javarush/75723 Вакансии сюда - https://telegram.me/joinchat/B7IzvUCnfo6d8t3yIxKguQ По вопросам - @thedude

learn.java
learn.java
1 888 участник(ов)

Чат для начинающих и не только Статистика: https://combot.org/chat/-1001083535868 Основной чат - @jvmchat

Spring Framework and more
Spring Framework and more
839 участник(ов)

чат о spring framework и связанных с ним технологиях. We're discussing: job, tech questions, beer meet up/networking: tech review ,LinkedIn skills, SOF q/a raise up& etc. languages: russian,java,eng.

Java Underground
Java Underground
169 участник(ов)

https://vk.com/javatutorial

Javanese Questions
Javanese Questions
109 участник(ов)

Чат предназначен для обмена знаниями строго в формате в вопрос-ответ. Тема — Java, Kotlin и Android. Вопрос должен быть предварительно прогуглен, понятно и грамотно сформулирован, помечен хэштегами. Ответ — тем более. Куски кода размером в несколько строк можно писать прямо здесь, для больших кусков кода стоит использовать http://gist.github.com/, http://pastebin.com/, https://codeshare.io/ или любой аналогичный сервис. В некоторых случаях можно прикреплять скриншоты. Стикеры и гифки запрещены. Дополнять и уточнять вопросы и ответы — редактированием исходного сообщения. Обсуждения должны приводить к редактированию вопроса/ответа и удаляться. По хештегам можно искать существующие вопросы и овтеты: #вопрос #ответ #git #generics #java #server #awt #javafx #swing #kotlin #anko #tornadofx #ktor #android #recyclerView #performance #arch #network #permissions #storage #async