3、IOC创建对象的方式
3.1 使用无参构造创建对象,默认
<!--bean = 对象
id = 变量名
class = new的对象
property 相当于给对象的属性设值
Hello hello = new Hello()
class id = new class()
-->
<bean id="user" class="com.kuang.pojo.User">
<property name="name" value="高壮壮"/>
</bean>
3.2、有参构造创建对象的三种方式
3.2.1 下标匹配方式0表示下标为0的参数(也就是第一个参数)
<!--第一种:下标赋值!-->
<bean id="user" class="com.kuang.pojo.User">
<constructor-arg index="0" value="高壮壮"/>
</bean>
3.2.2 参数类型匹配方式,不建议使用,两个相同类型的属性会冲突
<!--第二种方式:通过属性类型创建,不建议使用!-->
<bean id="user" class="com.kuang.pojo.User">
<constructor-arg type="java.lang.String" value="高壮壮"/>
</bean>
3.2.3 直接通过参数名匹配
<!--第三章方式:直接通过参数名匹配-->
<bean id="user" class="com.kuang.pojo.User">
<constructor-arg name="name" value="高壮壮"/>
</bean>
3.3 小总结
在配置文件加载的时候,所有的bean就已经被实例化了,要用直接get就可以了
public static void main(String[] args) {
//绑定完配置文件,bean就已经被实例化了
ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("beans.xml");
User user = (User) context.getBean("user");
user.show();
System.out.println(user);
}