1.使用无参构造创建对象,默认
对象
package com.kuang.pojo;
public class User {
String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
//无参方法
public User() {
System.out.println("无参构造!!!");
}
@Override
public String toString() {
return "User{" +
"name='" + name + '\'' +
'}';
}
}
IOC在xml文件中创建对象
<!-- services -->
<bean id="user" class="com.kuang.pojo.User">
<property name="name" value="lyj"/>
</bean>
<!-- more bean definitions for services go here -->
测试
import com.kuang.pojo.User;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class MyTest {
public static void main(String[] args) {
//获取Spring的上下文对象
ApplicationContext context = new ClassPathXmlApplicationContext("beans.xml");
//我们现在都在Spring中的管理了,我们要使用,直接去里面取出来就可以了
User user = (User) context.getBean("user");
System.out.println(user);
}
}
总结:IOC无参创建对象时,会把无参方法执行
2.IOC有参构造创建对象
1.下标赋值
<bean id="user" class="com.kuang.pojo.User">
<constructor-arg index="0" value="lyj"/>
</bean>
2.类型赋值
<bean id="user" class="com.kuang.pojo.User">
<constructor-arg type="java.lang.String" value="lyj"/>
</bean>
3.直接通过参数名设置
<bean id="user" class="com.kuang.pojo.User">
<constructor-arg name="name" value="lyj"/>
</bean>