`

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> 
分享到:
评论

相关推荐

    Spring实现自动装配

    Spring框架是Java开发中不可或缺的一部分,它以其强大的依赖注入(Dependency Injection,简称DI)特性而闻名,其中自动装配(Auto-Wiring)是DI的一种实现方式。自动装配允许开发者减少手动配置bean之间的依赖关系...

    Spring自动装配解析

    在Spring的XML配置文件中,可以通过`&lt;beans&gt;`标签的`autowire`属性来全局设置自动装配策略,或者在单个`&lt;bean&gt;`标签中通过`autowire`属性指定某一个bean的自动装配方式。 4. 使用注解进行自动装配 Spring 2.5引入了...

    Spring中自动装配的4种方式

    下面将详细介绍 Spring 中的 4 种自动装配方式。 byName 自动装配 byName 自动装配是指通过设置 property 标签的 autowire 属性为 byName,Spring 将自动寻找一个与该属性名称相同或 id 相同的 Bean,注入进来。...

    Spring自动装配Bean实现过程详解

    默认情况下,配置文件中需要通过ref装配Bean,但设置了autowire="byName",Spring会在配置文件中自动寻找与属性名字personDao相同的bean,找到后,通过调用setPersonDao(PersonDao personDao)方法将id为personDao的...

    spring自动装配

    在压缩包文件名称“spring_0700_IOC_Autowire”中,“IOC”代表“Inversion of Control”,即控制反转,它是Spring的核心概念之一,自动装配是IOC的一种实现方式。这个文件可能包含了关于Spring自动装配的教程材料,...

    Spring的自动装配源代码

    本文将深入探讨Spring中的六种自动装配方式:byType、byName、no、constructor、autodetect和default。 1. byType(按类型装配) 当Spring容器在配置文件中找不到明确的通过`ref`属性指定的依赖时,会尝试通过类型...

    spring装配bean实例代码

    首先,Spring装配Bean主要有两种方式:XML配置和注解配置。在本例中,我们将重点关注XML配置,对应的压缩包文件名为“springxmldemo”,这表明我们将讨论如何通过XML配置文件来定义和管理Bean。 1. **XML配置方式**...

    spring入门教程之bean的继承与自动装配详解

    Spring提供了两种基本的自动装配方式:`byName`和`byType`。`byName`自动装配是根据Bean的id和当前Bean的setter方法名称进行匹配;而`byType`则是基于Bean的类型与当前Bean的属性类型进行匹配。例如: ```xml &lt;bean...

    spring-autowire-demo.zip

    在Spring框架中,自动装配(Autowiring)是一种强大的特性,它允许我们无需显式配置bean之间的依赖关系,Spring会自动地将bean的依赖注入到它们的实例中。本示例"spring-autowire-demo.zip"是基于Spring 5.3.6版本,...

    autowire自动导入句柄

    在Spring框架中,`autowire`是一种自动装配bean依赖的方式,它极大地简化了bean之间的依赖注入过程。本文将深入探讨`autowire`自动导入句柄及其在实际开发中的应用。 ### 1. `autowire`简介 `autowire`是Spring...

    spring在IoC容器中装配Bean详解

    使用 `&lt;bean&gt;` 元素的 `autowire` 属性可以指定自动装配的类型。 五、方法注入 方法注入是依赖注入的一种方式,它要求 Bean 的方法返回一个实例对象。Spring 将根据配置文件中的 `&lt;bean&gt;` 元素来实例化对象,并...

    Spring自动装配模式表

    本文将详细介绍Spring框架中的五种自动装配模式:`no`、`byName`、`byType`、`constructor`以及`autodetect`,帮助开发者更好地理解和应用这些模式。 #### 二、自动装配模式概览 自动装配是指Spring容器根据一定的...

    spring定义和装配bean详解

    在Spring中,我们可以通过setter方法、构造方法或autowire的方式来装配Bean。 例如,在`Person`类中,我们可以通过setter方法来装配`car`对象: ```java public class Person { private Car car; public void ...

    spring-autowire.zip

    @Autowired是Spring框架提供的一个用于自动装配bean的注解,它可以被用在字段、构造器、方法和参数上。当在某个字段或方法上添加了@Autowired,Spring容器会自动寻找合适的bean进行注入,而无需手动使用`@Resource`...

    Spring的Autowired自动装配(XML版本+Annotation版本+源码+解析)

    @Autowired是Spring框架中的一个核心注解,用于实现自动装配bean的需求。当我们想要在类中注入某个依赖时,不再需要手动通过setter方法或构造函数进行设置,而是通过@Autowired来自动完成。这种特性极大地提高了代码...

    pring自动装配方式介绍共2页.pdf.zip

    在Spring框架中,自动装配(Auto-Wiring)是一种简化依赖注入(Dependency Injection,简称DI)的方式,它允许Spring容器自动管理Bean之间的依赖关系,而无需显式地在配置文件中指定。Spring提供了多种自动装配模式...

    3Spring使用annotation方式autowire

    本篇将详细探讨"3Spring使用annotation方式autowire"这一主题,包括注解驱动的自动装配(Autowiring)以及相关的源码分析。 ### 一、注解驱动的自动装配 自动装配是Spring框架的一个核心特性,它允许框架自动管理...

    spring bean 属性总结

    - **autowire属性**:控制Bean的自动装配策略。有五种模式: - `no`:不自动装配,所有依赖都需手动配置。 - `byName`:根据属性名称自动装配。 - `byType`:根据属性类型自动装配。如果有多个匹配,会报错。 - ...

Global site tag (gtag.js) - Google Analytics