我们平时创建对象的方式:
我们来看看在Spring中怎么处理这两种情况
注意:导入spring的包
package org.west.pojo; public class User { private String name; private String sex; private int age; public User() { } public User(String name, String sex, int age) { this.name = name; this.sex = sex; this.age = age; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getSex() { return sex; } public void setSex(String sex) { this.sex = sex; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } @Override public String toString() { return "User{" + "name='" + name + '\'' + ", sex='" + sex + '\'' + ", age=" + age + '}'; } }
Spring配置文件
1.通过注册bean来创建对象
<bean id="user" class="org.west.pojo.User"> <property name="name" value="猪猪"/> <property name="age" value="18"/> <property name="sex" value="女"/> </bean>
2.使用构造的参数的下标进行赋值
<!--使用构造的参数的下标进行赋值--> <bean id="user2" class="org.west.pojo.User"> <constructor-arg index="0" value="狗狗"/> <constructor-arg index="1" value="女"/> <constructor-arg index="2" value="10"/> </bean>
3.通过名字来进行赋值
<!--通过名字来进行赋值--> <bean id="user3" class="org.west.pojo.User"> <constructor-arg name="name" value="猫猫"/> <constructor-arg name="age" value="9"/> <constructor-arg name="sex" value="母"/> </bean>
4.通过类型进行赋值
<!--通过类型来进行赋值--> <bean id="user4" class="org.west.pojo.User"> <constructor-arg type="java.lang.String" value="小猪猪"/> <constructor-arg type="java.lang.String" value="男"/> <constructor-arg type="java.lang.Integer" value="1"/> </bean>
编写测试类
package org.west.demo; import org.junit.Test; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; import org.west.pojo.User; public class TestDemo { @Test public void test(){ ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml"); User user = (User) context.getBean("user3"); System.out.println(user); } }
小结:
-
通过有参构造
-
通过下标
-
通过参数名 【推荐】
-
通过参数类型
-
-
通过无参构造
-
默认会用无参构造
-
注意点:一定要有一个无参构造方法