Spring 的依赖注入方式
Spring支持构造注入和Set注入。
构造注入方式使用<constructor-arg>元素,Set注入方式使用Property元素。
?
Set注入方式如下:
<bean id="" value="me"> <property name="arrayType"> <!--数组注入也是用list--> <list> <value>Hello1</value> <value>Hello2</value> <value>Hello3</value> </list> </property> <property name="listType"> <list> <value>Hello1</value> <value>Hello2</value> <value>Hello3</value> </list> </property> <property name="setType"> <set> <value>Hello1</value> <value>Hello2</value> <value>Hello3</value> </set> </property> <property name="mapType"> <map> <entry key="key1"> <ref bean="Obj1"/> </entry> <entry key="key2"> <value>Hello1</value> </entry> </map> </property> </bean>
?
?构造注入方式:
<!-- 默认的情况下是按照参数的顺序注入 当指定index索引后就可以改变注入参数的顺序 。当构造函数的参数相同时,Spring会自动找到配制的构造方法 也可以用 type 来明确指定要用那个类型--> <bean id="" type="java.lang.String"> <value>hello2</value> </constructor-arg> </bean> <!--集合注入方式类似于上面Property注入方式中的配置-->
?
?
?
除了以上两种方式,Spring还可以通过bean的autowire属性为其提供自动绑定的功能,自动绑定有好几种方式,以byName方式最为常用,IOC容器会在其所管理的所用bean中按照name寻找,找到就注进去,如果找不到,则不做设置。Spring 2.5还提供了@autowire基于注解的方式进行自动绑定。
?