spring-study-ico创建对象的方式

IOC创建对象的方式:

 1、使用无参构造创建对象(默认)

 2、使用有参构造创建对象

  2.1 下标赋值 

 

    <!--有参方法创建对象,三种方式:-->
<!--1、下标赋值-->
<bean id="user" class="com.luo.pojo.User">
<constructor-arg index="0" value="下标赋值"></constructor-arg>
</bean>

2.2 类型赋值
<!--类型赋值--> (不建议使用,因为参数类型可能过多)
<!--此处的类型赋值对于基本数据类型直接写即可,对于应用数据类型,要写全名,如java.long.String-->

<bean id="user" class="com.luo.pojo.User">
<constructor-arg type="java.lang.String" value="类型赋值"></constructor-arg>
</bean>

2.3 参数名赋值
<!--直接通过参数名来赋值-->
<bean id="user" class="com.luo.pojo.User">
<constructor-arg name="name" value="直接通过参数名"></constructor-arg>
</bean>

养成一个好习惯,每写一个类都将其注册进去配置文件applicationContext.xml

一个小小的测试
//拿到spring容器
ApplicationContext context=new ClassPathXmlApplicationContext("applicationContext.xml");
//获取对象
User user=(User) context.getBean("user");//获取对象走的是构造方法(可能是无参构造方法,也有可能是有参构造方法)
User user1=(User) context.getBean("user");
System.out.println(user==user1);//true,获取的其实都是一个实列,即是一个对象

总结:在配置文件加载的时候,容器中的对象就已经初始化了




















 

相关文章

这篇文章主要介绍了spring的事务传播属性REQUIRED_NESTED的原...
今天小编给大家分享的是一文解析spring中事务的传播机制,相...
这篇文章主要介绍了SpringCloudAlibaba和SpringCloud有什么区...
本篇文章和大家了解一下SpringCloud整合XXL-Job的几个步骤。...
本篇文章和大家了解一下Spring延迟初始化会遇到什么问题。有...
这篇文章主要介绍了怎么使用Spring提供的不同缓存注解实现缓...