spring中有几种类型的ioc容器,spring的ioc容器初始化流程
(一)春天的国际奥林匹克委员会学习
在应用程序上下文。可扩展标记语言来配置豆子,通过该接口,在主程序中,可以指定初始化的对象,不需要在进行赋值操作,直接在可扩展标记语言里配置好。
接下来分享的是豆配置的多种方法:
通过类的编号获取豆
bean id=用户
属性名称=名称值=弹簧/属性
属性名称=年龄值= 18 /属性
属性名称=性别值=男/属性
/bean在主函数中,通过容器里的编号来获取豆对象
应用程序上下文a context=new classpathmlaplicationcontext(应用程序上下文。XML’);
用户bean user=(用户)一个上下文。获取bean(“用户”);
bean用户。print();输出该对象的信息:
通过类型获取豆子,缺点是只能是一个该类型的豆对象,如果有多个则会出错,多个可以通过编号的方式来进行获取
例如上面的用户对象,在主函数中可以这样获取:
应用程序上下文a context=new classpathmlaplicationcontext(应用程序上下文。XML’);
用户bean user=acontext。获取bean(用户。类);
bean用户。print();得到的结果和上面的一样
二、给豆的属性赋值多种操作
直接通过属性名称=名称值=弹簧/属性利用名称,值的方式进行赋值
通过构造器进行赋值,前提在豆类中有该构造函数
bean id=user03
构造函数-参数名称=名称值=小明/构造函数-参数
构造函数参数name= age value= 18 /constructor-arg
构造函数-参数name=sex value=男/构造函数-参数
/bean还可以直接省略名字属性:
!-省略名字属性-
bean id=user04
构造函数-参数值=校花/构造函数-参数
constructor-arg value= 10 /constructor-arg
构造函数-参数值=女/构造函数-参数
/bean通过索引值指定参数位置
bean id=book
构造函数-arg value=10010 index=0/
构造函数-arg value=Book01 index=1/
构造函数-arg value=Author01 index=2/
构造函数-arg value=20.2 index=3/
/bean通过类型不同区分重载的构造器
bean id=book
构造函数-arg value= 10010 index= 0 type= Java。郎。整数/
构造函数-arg value= book 01 index= 1 type= Java。郎。字符串/
构造函数-arg value= author 01 index= 2 type= Java。郎。字符串/
构造函数-arg value= 20.2 index= 3 type= Java。郎。双/
/bean p名称空间:为了简化可扩展置标语言文件的配置,越来越多的可扩展置标语言文件采用属性而非子元素配置信息。
需要导入字体xmlns:p= http://www。spring框架。组织/架构/p
豆
id=学生超级
p:studentId= 2002 p:stuName= Jerry 2016 p:age= 18 /三、内部豆对象以及引用对象
通过空/指定空元素
引用对象的使用:ref="引用外部对象的id "
bean id=car01
构造函数-参数值=宝马/构造函数-参数
构造函数-参数值=蓝白色/构造函数-参数
constructor-arg value= 30000 /constructor-arg
/bean
bean id=user05
属性名称=名称
空/空
/属性
!- ref引用的是外部的豆子-
属性名称= car ref= car 01 /属性
/bean内部豆对象:相当于汽车=新车(),汽车对象在用户对象里
bean id=car01
构造函数-参数值=宝马/构造函数-参数
构造函数-参数值=蓝白色/构造函数-参数
constructor-arg value= 30000 /constructor-arg
/bean
bean id=user05
属性名称=名称
空/空
/属性
!-相当于汽车=新车()引用内部豆子-
属性名称=汽车
豆
属性名称=名称值=自行车/属性
/bean
/属性
/bean四、集合属性
列表和地图
目录集合里包括:一个自定义的对象,一个引用对象。
配置java.util.List类型的属性,需要指定目录标签,在标签里包含一些元素。
这些标签可以通过价值指定简单的常量值,通过裁判员指定对其他豆的引用。
通过豆指定内置豆定义。通过空/指定空元素。
地图集合里包括:2个值,一个引用,一个自定义对象,都对应着不同的键值
地图标签里可以使用多个进入作为子标签。每个条目包含一个键和一个值。
必须在键标签里定义键。
因为键和值的类型没有限制,所以可以自由地为它们指定值、引用、豆类或空/元素。
可以将地图的键和值作为进入的属性定义:简单常量使用键和价值来定义;豆引用通过键引用和值参考属性定义。
bean id=refbook
属性名称=名称值=西厢记/属性
/bean
bean id=user06
属性名称=书籍
目录
!-列表标签体中添加每一个元素-
豆
属性名称=名称值=西游记/属性
属性名=作者值=吴承恩/属性
属性名称=价格值= 80 /属性
/bean
ref bean=refbook /ref
/列表
/属性
属性名称=地图
地图
条目键=key01 值=张三/条目
条目键=key02 值= 18 /条目
条目关键字=关键字03 值-ref= ref book /条目
输入键=key04
豆
属性名称=名称值=宝马
/属性
/bean
/条目
/地图
/属性
/bean在主函数中,输出结果:
用户bean user 2=(user)一个上下文。获取bean(“用户06”);
系统。出去。println(bean用户2。书籍);
系统。出去。println(bean用户2。地图);结果为:
属性
使用小道具定义java.util.Properties,该标签使用多个支柱作为子标签。每个支柱标签必须定义键属性
bean id=dataSource
属性名=属性
小道具
属性密钥=用户名根/属性
prop key=password root /prop
道具键= URL JDBC:MySQL:///test/prop
prop key= driver class com。MySQL。JDBC。驱动程序/道具
/道具
/属性
/bean
集合类型的豆
如果只能将集合对象配置在某个豆内部,则这个集合的配置将不能重用。我们需要将集合豆的配置拿到外面,供其他豆引用。
配置集合类型的豆需要引入跑龙套名称空间:xmlns:util= http://www。spring框架。组织/架构/实用工具
实用工具:映射id=我的地图
条目键=key01 值=张三/条目
条目键=key02 值= 18 /条目
条目关键字=关键字03 值-ref= ref book /条目
输入键=key04
豆
属性名称=名称值=宝马
/属性
/bean
/条目
/util:map
实用工具:列表id=我的列表
豆子/豆子
值12/值
ref bean=myMap /ref
/util:list
五、级联属性
含义:可以控制属性的属性
可以改变用户07下的汽车的价格属性,如果汽车为引用对象,那么引用对象也会被修改
!-级联属性可以控制属性的属性-
bean id=user07
属性名称= car ref= car 01 /属性
属性名称=car.price 值= 900000 /属性
/bean
-这就是今天分享的豆的配置操作。
明天学习:利用工厂来创建豆
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。