Spring对象的创建
2022/1/5 23:36:16
本文主要是介绍Spring对象的创建,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
对象创建
若只有无参构造,那么在xml中产生容器时,就会调用无参构造,不管你有没有初始化,即,只要语句
ClassPathXmlApplicationContext
执行,那么,xml中的容器就会调用无参构造生成对象
如果有有参构造函数,则对应的生成有参对象,且只有一份。
ApplicationContext context = new ClassPathXmlApplicationContext("beans.xml"); User usr = (User)context.getBean("usr"); User usrr = (User) context.getBean("usr"); System.out.println(usr == usrr);
结果为true
关于有参构造的xml的初始化
三种方式
- 用name
<bean id="usr2" class="com.jiwei.pojo.User"> <constructor-arg name="name" value="ip"/> <constructor-arg name="age" value="1"/> </bean>
-
用type, 不推荐, 不用
-
用index
<bean id="usr3" class="com.jiwei.pojo.User"> <constructor-arg index="0" value="ioc"/> <constructor-arg index="1" value="1"/> </bean>
即:在ClassPathXmlApplicationContext是就有了一份对象,而且只有一份。
User usr = (User)context.getBean("usr"); User usrr = (User) context.getBean("usr"); System.out.println(usr == usrr); // true usrr.change(); // 一起变化的,一块内存 System.out.println(usr == usrr); // true System.out.println(usr.toString()); System.out.println(usrr.toString());
true
true
User{name='Tom', age=19}
User{name='Tom', age=19}
这篇关于Spring对象的创建的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-10-05小米13T Pro系统合集:性能与摄影的极致融合,值得你升级的系统ROM
- 2024-10-01基于Python+Vue开发的医院门诊预约挂号系统
- 2024-10-01基于Python+Vue开发的旅游景区管理系统
- 2024-10-01RestfulAPI入门指南:打造简单易懂的API接口
- 2024-10-01初学者指南:了解和使用Server Action
- 2024-10-01Server Component入门指南:搭建与配置详解
- 2024-10-01React 中使用 useRequest 实现数据请求
- 2024-10-01使用 golang 将ETH账户的资产平均分散到其他账户
- 2024-10-01JWT用户校验课程:从入门到实践
- 2024-10-01Server Component课程入门指南