spring学习 五 依赖注入的方式
Posted 阿瞒123
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了spring学习 五 依赖注入的方式相关的知识,希望对你有一定的参考价值。
依赖注入有两种方式:
1 构造注入,如果<bean>标签下使用<contructor-arg>,则是构造注入
2 setter注入,就是调用setter方法注入,如果<bean>标签下使用<property>标签,就是setter注入
2.1: 如果属性是基本数据类型或 String 等简单类型
<bean id="peo" class="com.bjsxt.pojo.People"> <property name="id" value="222"></property> <property name="name" value=" 张三 "></property> </bean>
上面的写法等效于下面
<bean id="peo" class="com.bjsxt.pojo.People"> <property name="id"> <value>456</value> </property> <property name="name"> <value>zhangsan</value> </property> </bean>
2.2 复杂类型的注入
2.2.1 集合类型的数组set<?>,问号代表泛型
<property name="sets"> <set> <value>1</value> <value>2</value> <value>3</value> <value>4</value> </set> </property>
2.2.2 列表的注入 List<?>
<property name="list"> <list> <value>1</value> <value>2</value> <value>3</value> </list> </property>
如果List<?>的元素是对象
则如下:
<property name="aList"> <list> <ref bean="a"/> </list> </property>
如果list中只有一个值
<property name="list" value="1"> </property>
2.2.3 注入的类型为数组 ,如果数组中就只有一个值,可以直接通过 value 属性赋值,同理如果数组元素为对象,<array>标签下用<ref>标签
<property name="strs" > <array> <value>1</value> <value>2</value> <value>3</value> </array> </property>
2.2.4 如果注入的数据类型为Map ,
<property name="map"> <map> <entry key="a" value="b" > </entry> <entry key="c" value="d" ></entry> </map> </property>
如果值是对象,则如下
<property name="map"> <map > <entry key="" value-ref=""></entry> </map> </property>
<entry> 标签中有,key,key-ref, value,value-ref等属性
2.4.5 如果属性 Properties 类型
<property name="demo"> <props> <prop key="key">value</prop> <prop key="key1">value1</prop> </props> </property>
以上是关于spring学习 五 依赖注入的方式的主要内容,如果未能解决你的问题,请参考以下文章
spring练习,在Eclipse搭建的Spring开发环境中,使用set注入方式,实现对象的依赖关系,通过ClassPathXmlApplicationContext实体类获取Bean对象(代码片段
Spring框架学习教程,详解Spring注入bean的几种方式