Хочу разобраться с конфигурацией в спринге. У меня есть такой main-класс:
package knights;
import knights.base.Knight;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class KnightsMain {
public static void main(String[] args) {
ClassPathXmlApplicationContext context =
new ClassPathXmlApplicationContext("META-INF/spring/knight.xml");
Knight knight = context.getBean(Knight.class);
knight.embarkOnQuest();
context.close();
}
}
И структура директорий выглядит так:
.
|-- META-INF
| |-- MANIFEST.MF
| `-- spring
| `-- knight.xml
|-- Spring.iml
|-- pom.xml
|-- src
| |-- main
| | |-- java
| | | |-- knights
| | | | |-- BraveKnight.java
| | | | |-- KnightsMain.java
| | | | |-- RescueDamselQuest.java
| | | | |-- SlayDragonQuest.java
| | | | |-- base
| | | | | |-- Knight.java
| | | | | `-- Quest.java
| | | | `-- config
| | | | `-- KnightsConfig.java
| | | `-- main
| | | `-- Main.java
| | `-- resources
| | |-- course.xml
| | `-- knight.xml
| `-- test
| `-- java
| `-- knights
| `-- BraveKnightTest.java
При запуске получаю ошибку:
Caused by: java.io.FileNotFoundException: class path resource [META-INF/spring/knight.xml] cannot be opened because it does not exist
at org.springframework.core.io.ClassPathResource.getInputStream(ClassPathResource.java:180)
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:329)
Почему спринг не может найти xml-файл? Откуда он начинает поиск?
Положите файл knight.xml в папку src/main/java и
ApplicationContext context = new ClassPathXmlApplicationContext("classpath:knight.xml");
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости