package setter_project;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class Manage {
public static void main(String[] args) {
ApplicationContext applicationContext = new ClassPathXmlApplicationContext("UserBean.xml");
User user = (User)applicationContext.getBean("User");
System.out.println("获取bean的name: " + user.getName());
System.out.println("获取bean的age: " + user.getAge());
System.out.println("获取bean的sex: " + user.getSex());
}
}
package setter_project;
public class User {
private String name;
private String age;
private String sex;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getAge() {
return age;
}
public void setAge(String age) {
this.age = age;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
}
<beans>
<bean id="user" class="setter_project.User">
<prperty name="name">
<value>张三value>
prperty>
<prperty name="age">
<value>20value>
prperty>
<prperty name="sex">
<value>女value>
prperty>
bean>
beans>
我看网上说bean需要配置在applicationContext.xml中,这个文件在什么位置,我是用maven配置的Spring,没有去网上下载相关包
applicationContext.xml应该放在根目录下,spring必须有这个文件
你的UserBean.xml里面里面的头信息呢????
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:aop="http://www.springframework.org/schema/aop"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:p="http://www.springframework.org/schema/p"
xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.2.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.2.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.2.xsd">
```xml
```
applicationContext.xml需要自己写放到resource下面。使用ApplicationContext applicationContext = new ClassPathXmlApplicationContext("applicationContext.xml");加载,里面内容就是楼上老哥说的beans声明信息,和你的bean定义
以下答案由GPT-3.5大模型与博主波罗歌共同编写:
根据你提供的代码和错误信息,有两个问题需要解决:
修改后的xml文件如下:
<?xml version="1.0" encoding="UTF-8"?>
<beans>
<bean id="User" class="setter_project.User">
<property name="name">
<value>张三</value>
</property>
<property name="age">
<value>20</value>
</property>
<property name="sex">
<value>女</value>
</property>
</bean>
</beans>
(1)在xml文件中使用import标签引用其他文件,例如在UserBean.xml文件中使用import标签引用其他文件:
<?xml version="1.0" encoding="UTF-8"?>
<beans>
<import resource="ApplicationContext.xml"/>
<bean id="User" class="setter_project.User">
<property name="name">
<value>张三</value>
</property>
<property name="age">
<value>20</value>
</property>
<property name="sex">
<value>女</value>
</property>
</bean>
</beans>
然后在ApplicationContext.xml文件中配置相应的bean。
(2)在java代码中直接创建ApplicationContext对象,并指定配置文件位置,例如在Manage类中修改如下:
public class Manage {
public static void main(String[] args) {
ApplicationContext applicationContext = new ClassPathXmlApplicationContext("classpath:ApplicationContext.xml");
User user = (User)applicationContext.getBean("User");
System.out.println("获取bean的name: " + user.getName());
System.out.println("获取bean的age: " + user.getAge());
System.out.println("获取bean的sex: " + user.getSex());
}
}
这里的ApplicationContext.xml是一个新建的Spring配置文件,用于配置相应的bean,并放在src/main/resources目录下。
<?xml version="1.0" encoding="UTF-8"?>
<beans>
<bean id="User" class="setter_project.User">
<property name="name">
<value>张三</value>
</property>
<property name="age">
<value>20</value>
</property>
<property name="sex">
<value>女</value>
</property>
</bean>
</beans>
注意:在使用classpath:前缀时,不要漏掉冒号。
参考链接:
https://www.cnblogs.com/jin-shiyuan/p/9043805.html
https://www.baeldung.com/spring-classpathxmlapplicationcontext
如果我的回答解决了您的问题,请采纳