Spring的自动装配-autowire
2016-08-08 17:24
423 查看
Spring 的4种类型的自动装配
·byName——把与Bean的属性具有相同名字(或者ID)的其他Bean自动装配到Bean的对应属性中。如果没有跟属性的名字相匹配的Bean,则该属性不进行装配。
·byType——把与Bean的属性具有相同类型的其他Bean自动装配到Bean的对应属性中。如果没有跟属性的名字相匹配的Bean
,则该属性不被装配。
·constructor——把与Bean的构造器入参具有相同类型的其他Bean自动装配到Bean构造器的对应入参中。
·autodetect——首先尝试使用constructor进行自动装配。如果失败,再尝试使用byType进行自动装配。
How to?
一般的
不要对 p:感到奇怪,xmlns:p="http://www.springframework.org/schema/p"
相当于 <property name="" value=""/>
<bean id="kenny2" class="com.springinaction.springidol.Instrumentalist"
p:song="Jingle Bells"
p:instrument-ref="piano"
/>
byName注解
<bean id="kenny3" class="com.springinaction.springidol.Instrumentalist"
autowire="byName"
p:song="Jingle Bells"
/>
全局byname注解
default-autowire="byName"
>
byType的注意事项:
自动注入与bean属性同类型的bean,如果有多个同时存在,就会出现问题,因为Spring 不会选出那个是优先的
更要命的是,虽然有一个字段 primary
但是其默认值为 true
所以需将所有不用的设置为 primary="false"
只剩下一个
使用自动装配策略后,还是可以使用显示装配的,ref ="beanname" 这种
·byName——把与Bean的属性具有相同名字(或者ID)的其他Bean自动装配到Bean的对应属性中。如果没有跟属性的名字相匹配的Bean,则该属性不进行装配。
·byType——把与Bean的属性具有相同类型的其他Bean自动装配到Bean的对应属性中。如果没有跟属性的名字相匹配的Bean
,则该属性不被装配。
·constructor——把与Bean的构造器入参具有相同类型的其他Bean自动装配到Bean构造器的对应入参中。
·autodetect——首先尝试使用constructor进行自动装配。如果失败,再尝试使用byType进行自动装配。
How to?
一般的
不要对 p:感到奇怪,xmlns:p="http://www.springframework.org/schema/p"
相当于 <property name="" value=""/>
<bean id="kenny2" class="com.springinaction.springidol.Instrumentalist"
p:song="Jingle Bells"
p:instrument-ref="piano"
/>
byName注解
<bean id="kenny3" class="com.springinaction.springidol.Instrumentalist"
autowire="byName"
p:song="Jingle Bells"
/>
全局byname注解
default-autowire="byName"
>
byType的注意事项:
自动注入与bean属性同类型的bean,如果有多个同时存在,就会出现问题,因为Spring 不会选出那个是优先的
更要命的是,虽然有一个字段 primary
但是其默认值为 true
所以需将所有不用的设置为 primary="false"
只剩下一个
使用自动装配策略后,还是可以使用显示装配的,ref ="beanname" 这种
相关文章推荐
- Spring - bean的autowire属性(自动装配)
- Spring <bean>标签属性 Autowire自动装配
- Spring Autowire自动装配
- spring 自动装配 default-autowire="byName/byType"
- Spring之利用autowire属性进行自动装配
- Spring Autowire自动装配
- spring的自动装配(default-autowire="byName")
- spring的自动装配(default-autowire="byName")
- spring的自动装配(default-autowire="byName")
- Spring(五)--autowire自动装配和spel
- ITCAST视频-Spring学习笔记(@Autowire注解与自动装配)
- spring 自动装配 default-autowire="byName/byType"
- Spring - bean的autowire属性(自动装配)
- Spring Autowire自动装配byName和byType
- Spring学习记录(三)---bean自动装配autowire
- Spring的自动装配 default-autowire="byName"
- spring 自动装配 default-autowire="byName/byType"
- [转载]Spring Autowire自动装配介绍
- spring的自动装配(default-autowire="byName")
- Spring Autowire自动装配