`

Spring的autowire自动装配bean的四种方式

阅读更多
default

[html] view plaincopyprint?<?xml version="1.0" encoding="UTF-8"?> 
<beans xmlns="http://www.springframework.org/schema/beans" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://www.springframework.org/schema/beans 
           http://www.springframework.org/schema/beans/spring-beans.xsd"> 
 
    <bean id="computerBean" class="www.csdn.spring.bean.ComputerBean"> 
        <property name="name" value="Dell n5110" /> 
    </bean> 
 
    <bean id="deptBean" class="www.csdn.spring.bean.DeptBean"> 
        <property name="name" value="CSDN教育事业部" /> 
    </bean> 
 
    <bean id="employeeBean" class="www.csdn.spring.bean.EmployeeBean"> 
        <property name="name" value="hahahha"/> 
        <property name="computerBean" ref="computerBean"/> 
        <property name="deptBean" ref="deptBean" /> 
    </bean> 
 
</beans> 

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
           http://www.springframework.org/schema/beans/spring-beans.xsd">

<bean id="computerBean" class="www.csdn.spring.bean.ComputerBean">
<property name="name" value="Dell n5110" />
</bean>

<bean id="deptBean" class="www.csdn.spring.bean.DeptBean">
<property name="name" value="CSDN教育事业部" />
</bean>

<bean id="employeeBean" class="www.csdn.spring.bean.EmployeeBean">
<property name="name" value="hahahha"/>
<property name="computerBean" ref="computerBean"/>
<property name="deptBean" ref="deptBean" />
</bean>

</beans>



byName

[html] view plaincopyprint?<?xml version="1.0" encoding="UTF-8"?> 
<beans xmlns="http://www.springframework.org/schema/beans" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://www.springframework.org/schema/beans 
           http://www.springframework.org/schema/beans/spring-beans.xsd"> 
 
    <bean id="computerBean" class="www.csdn.spring.bean.ComputerBean"> 
        <property name="name" value="Dell n5110" /> 
    </bean> 
 
    <bean id="deptBean" class="www.csdn.spring.bean.DeptBean"> 
        <property name="name" value="CSDN教育事业部" /> 
    </bean> 
 
    <bean id="employeeBean" class="www.csdn.spring.bean.EmployeeBean" 
        autowire="byName"> 
        <property name="name" value="hahahha"/> 
    </bean> 
 
</beans> 

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
           http://www.springframework.org/schema/beans/spring-beans.xsd">

<bean id="computerBean" class="www.csdn.spring.bean.ComputerBean">
<property name="name" value="Dell n5110" />
</bean>

<bean id="deptBean" class="www.csdn.spring.bean.DeptBean">
<property name="name" value="CSDN教育事业部" />
</bean>

<bean id="employeeBean" class="www.csdn.spring.bean.EmployeeBean"
autowire="byName">
<property name="name" value="hahahha"/>
</bean>

</beans>
byType

[html] view plaincopyprint?<?xml version="1.0" encoding="UTF-8"?> 
<beans xmlns="http://www.springframework.org/schema/beans" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://www.springframework.org/schema/beans 
           http://www.springframework.org/schema/beans/spring-beans.xsd"> 
 
    <bean id="computerBean" class="www.csdn.spring.bean.ComputerBean"> 
        <property name="name" value="Dell n5110" /> 
    </bean> 
 
    <bean id="deptBean" class="www.csdn.spring.bean.DeptBean"> 
        <property name="name" value="CSDN教育事业部" /> 
    </bean> 
 
    <bean id="employeeBean" class="www.csdn.spring.bean.EmployeeBean" 
        autowire="byType"> 
        <!-- <property name="name" value="hahahha"/> --> 
        <!-- <property name="computerBean" ref="computerBean"/> 
        <property name="deptBean" ref="deptBean" /> --> 
 
    </bean> 
 
</beans> 

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
           http://www.springframework.org/schema/beans/spring-beans.xsd">

<bean id="computerBean" class="www.csdn.spring.bean.ComputerBean">
<property name="name" value="Dell n5110" />
</bean>

<bean id="deptBean" class="www.csdn.spring.bean.DeptBean">
<property name="name" value="CSDN教育事业部" />
</bean>

<bean id="employeeBean" class="www.csdn.spring.bean.EmployeeBean"
autowire="byType">
<!-- <property name="name" value="hahahha"/> -->
<!-- <property name="computerBean" ref="computerBean"/>
<property name="deptBean" ref="deptBean" /> -->

</bean>

</beans>
constructor



[html] view plaincopyprint?<?xml version="1.0" encoding="UTF-8"?> 
<beans xmlns="http://www.springframework.org/schema/beans" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://www.springframework.org/schema/beans 
           http://www.springframework.org/schema/beans/spring-beans.xsd"> 
    <bean id="computerBean" class="www.csdn.spring.bean.ComputerBean"> 
        <property name="name" value="Dell n5110" /> 
    </bean> 
 
    <bean id="deptBean" class="www.csdn.spring.bean.DeptBean"> 
        <property name="name" value="CSDN教育事业部" /> 
    </bean> 
 
    <!-- <bean id="employeeBean" class="www.csdn.spring.bean.EmployeeBean" 
        autowire="constructor"> 
    </bean> --> 
    <bean id="employeeBean" class="www.csdn.spring.bean.EmployeeBean"/> 
     
    <bean class="org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor"></bean> 
</beans> 
分享到:
评论

相关推荐

    spring2.5学习PPT 传智博客

    04_Spring的三种实例化Bean的方式 05_配置Spring管理的bean的作用域 06_Spring管理的Bean的生命周期 07_编码剖析Spring依赖注入的原理 08_编码剖析Spring装配基本属性的原理 09_Spring如何装配各种集合类型的...

    Jimmy-Ma#SpringDemo#004.自动装配(XML)1

    使用autowire属性指定自动装配的方式byName根据bean的名字和当前bean的setter风格属性名进行自动装配若有匹配,则自动转配若无匹配,则不装配

    springboot-autowire:学习springboot自动装配原理

    #学习springboot自动装配 ##一,手动装配 ### 1,模式注解装配 @Component注解,或者@Component注解的扩展,@ Controller,@ Service,存储库,@ Configruation等, ### 2. @ Configuration启动容器+ @ Bean注册...

    Spring的学习笔记

    八、 自动装配autowire 13 (一) byName 13 (二) byType 14 (三) 注意 14 九、 生命周期 15 (一) lazy-init/default-lazy-init 15 (二) init-method destroy-method 不要和prototype一起用(了解) 15 第六课:...

    xmljava系统源码-SpringInAction4:《SpringInAction4th》学习笔记

    装配Bean “initialization on demand holder”创建单例模式的理解,参考 Spring中单例的概念限于Spring上下文中,遵守约定 内部bean适用于setter注入和构造器注入,内部bean不能被复用 SpEL表达式 3. 高级装配 4 种...

    spring学习过程

    spring基础,主要讲解了 spring的autowire:自动装配 collections:属性配置的细节 properties:外部属性文件的使用 relati:bean之间的关系 scope:bean的作用域 spel:spel的使用

    Spring-Reference_zh_CN(Spring中文参考手册)

    3.3.6. 自动装配(autowire)协作者 3.3.6.1. 设置Bean使自动装配失效 3.3.7. 依赖检查 3.3.8. 方法注入 3.3.8.1. Lookup方法注入 3.3.8.2. 自定义方法的替代方案 3.4. bean的作用域 3.4.1. Singleton作用域 3.4.2. ...

    Spring中文帮助文档

    3.3.5. 自动装配(autowire)协作者 3.3.6. 依赖检查 3.3.7. 方法注入 3.4. Bean的作用域 3.4.1. Singleton作用域 3.4.2. Prototype作用域 3.4.3. Singleton beans和prototype-bean的依赖 3.4.4. 其他作用域 ...

    Spring 2.0 开发参考手册

    3.3.6. 自动装配(autowire)协作者 3.3.7. 依赖检查 3.3.8. 方法注入 3.4. bean的作用域 3.4.1. Singleton作用域 3.4.2. Prototype作用域 3.4.3. 其他作用域 3.4.4. 自定义作用域 3.5. 定制bean特性 3.5.1...

    Spring API

    3.3.5. 自动装配(autowire)协作者 3.3.6. 依赖检查 3.3.7. 方法注入 3.4. Bean的作用域 3.4.1. Singleton作用域 3.4.2. Prototype作用域 3.4.3. Singleton beans和prototype-bean的依赖 3.4.4. 其他作用域 ...

    spring2.5 学习笔记

    八、 自动装配autowire 13 (一) byName 13 (二) byType 14 (三) 注意 14 九、 生命周期 15 (一) lazy-init/default-lazy-init 15 (二) init-method destroy-method 不要和prototype一起用(了解) 15 第六课:...

    spring chm文档

    3.3.6. 自动装配(autowire)协作者 3.3.7. 依赖检查 3.3.8. 方法注入 3.4. bean的作用域 3.4.1. Singleton作用域 3.4.2. Prototype作用域 3.4.3. 其他作用域 3.4.4. 自定义作用域 3.5. 定制bean特性 3.5.1...

    mockitobeans

    概述Mockitobeans是一个 ,通过使用Spring自己的@Autowire语法,您可以无缝地对所有bean进行自动装配。历史mockitobeans时,我一直在寻找一种方式来开始使用嘲笑说已经自动装配依赖其中有额外的自动装配Autowired的...

    Struts2属性文件详解

    指定Spring框架的自动装配模式, 该属性的默认值是name, 即默认根据Bean的name属性自动装配. struts.objectFactory.spring.useClassCache 该属性指定整合Spring框架时,是否缓存Bean实例,该属性只允许使用true和false...

Global site tag (gtag.js) - Google Analytics