一、通过无参构造方法来创建(默认方式)
- beans.xml
<bean id="user" class="com.kuang.pojo.User">
<property name="name" value="lengding"/>
</bean>
- User.java
public class User {
private String name;
public User() {
System.out.println("user无参构造方法");
}
public void setName(String name) {
this.name = name;
}
public void show(){
System.out.println("name="+ name );
}
}
- 测试类
public class Mytest {
public static void main(String[] args) {
ApplicationContext context = new ClassPathXmlApplicationContext("beans.xml");
User user = (User)context.getBean("user");
user.show();
}
}
二、通过有参构造方法来创建
因为显式的写了有参构造函数,没有显式的定义无参构造,所以默认以有参构造的方式创建对象。
- beans.xml (三种方式)
第一种下标赋值
<bean id="user" class="com.lding.pojo.User">
<constructor-arg index="0" value="冷丁java"></constructor-arg>
</bean>
第二种类型赋值 不建议使用
<bean id="user" class="com.lding.pojo.User">
<constructor-arg type="java.lang.String" value="1冷丁"></constructor-arg>
</bean>
第三种 直接通过参数名的方式
<bean id="user" class="com.lding.pojo.User">
<constructor-arg name="name" value="lengding"></constructor-arg>
</bean>
- User.java
package com.lding.pojo;
public class User {
private String name;
public User(String name) {
this.name = name;
}
public void show(){
System.out.println("name:"+name);
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
总结:在配置文件加载的时候,其中管理的对象都已经初始化了!