从 spring 中的 xml 文件获取 bean 时出错
Error in fetching beans from xml file in spring
我是 spring 的新手。我创建了 config.xml
并在其中创建了 bean。当我尝试使用 getBean
时,出现以下错误:
IOException parsing XML document from class path resource
[config.xml]; nested exception is java.io.FileNotFoundException: class
path resource [config.xml] cannot be opened because it does not exist.
我之前用过这条线。
ApplicationContext context= new ClassPathXmlApplicationContext(" config.xml");
Student Student1=(Student) context.getBean("s1");
然后,我把代码改成这样:
ApplicationContext context= new ClassPathXmlApplicationContext("classpath*: config.xml");
但是,现在我收到了新的错误:
没有名为 's1' 的 bean 可用
我的主要功能在 src/main/java/org/example/App.java
我的 config.xml 出现在 src/main/java/config.xml
config.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"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd">
<bean id="s1" class="org.example.Student"> <!--org.example is groupId-->
<property name="studentId">
<value>22344</value>
</property>
<property name="studentName">
<value>AP</value>
</property>
<property name="studentAddress">
<value>L</value>
</property>
</bean>
你必须把xml文件config.xml
放入src/main/resources(默认情况下maven会寻找你的Java源文件放入 src/main/java
并将您的资源文件放入 src/main/resources
)
创建 ClassPathXmlApplicationContext
对象时不需要 classpath
关键字,只需使用 ClassPathXmlApplicationContext("config.xml")
如下所示:
ApplicationContext context= new ClassPathXmlApplicationContext("config.xml");
Student student1=(Student) context.getBean("s1");
System.out.println(student1.getStudentId());
我是 spring 的新手。我创建了 config.xml
并在其中创建了 bean。当我尝试使用 getBean
时,出现以下错误:
IOException parsing XML document from class path resource [config.xml]; nested exception is java.io.FileNotFoundException: class path resource [config.xml] cannot be opened because it does not exist.
我之前用过这条线。
ApplicationContext context= new ClassPathXmlApplicationContext(" config.xml");
Student Student1=(Student) context.getBean("s1");
然后,我把代码改成这样:
ApplicationContext context= new ClassPathXmlApplicationContext("classpath*: config.xml");
但是,现在我收到了新的错误: 没有名为 's1' 的 bean 可用
我的主要功能在 src/main/java/org/example/App.java
我的 config.xml 出现在 src/main/java/config.xml
config.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"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd">
<bean id="s1" class="org.example.Student"> <!--org.example is groupId-->
<property name="studentId">
<value>22344</value>
</property>
<property name="studentName">
<value>AP</value>
</property>
<property name="studentAddress">
<value>L</value>
</property>
</bean>
你必须把xml文件config.xml
放入src/main/resources(默认情况下maven会寻找你的Java源文件放入 src/main/java
并将您的资源文件放入 src/main/resources
)
创建 ClassPathXmlApplicationContext
对象时不需要 classpath
关键字,只需使用 ClassPathXmlApplicationContext("config.xml")
如下所示:
ApplicationContext context= new ClassPathXmlApplicationContext("config.xml");
Student student1=(Student) context.getBean("s1");
System.out.println(student1.getStudentId());