`
Far_ranqing
  • 浏览: 10738 次
  • 性别: Icon_minigender_2
  • 来自: 保定
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

自动装配之byName

阅读更多

自动装配之byName

byName:根据属性名自动装配。此选项将检查容器并根据名字查找与属性完全一致的bean,并将其与属性自动装配。例如,在bean定义中将autowire设置为by name,而该bean包含master属性(同时提供setMaster(..)方法),Spring就会查找名为masterbean定义,并用它来装配给master属性。

下面通过示例来理解:

JavaBean代码:

//JavaBeanàPerson定义了一个name属性,和一个相应的set依赖注入方法

public class Person {

    private String name;

    public void setName(String name) {

       this.name = name;

    }  

}

//JavaBeanàStudentServiceImpl继承了Person

public class StudentServiceImpl extends Person{

}

//JavaBeanàTeacherServiceImpl,定义一个studentSerciceImpl,和一个相应的set依赖注入方法和get方法。

public class TeacherServiceImpl {

    private StudentServiceImpl studentServiceImpl;

    public void setStudentServiceImpl(StudentServiceImpl studentServiceImpl) {

       this.studentServiceImpl = studentServiceImpl;

    }

    public StudentServiceImpl getStudentServiceImpl() {

       return studentServiceImpl;

    }

}

byname.xml文件:

不用byName

<bean id="person" class="cn.csdn.byname.Person">

       <property name="name">

           <value>Well_Being</value>

       </property>

    </bean>

    <bean id="studentServiceImpl" class="cn.csdn.byname.StudentServiceImpl" scope="singleton" parent="person"/>

    <bean id="teacherServiceImpl" class="cn.csdn.byname.TeacherServiceImpl" scope="singleton">

       <property name="studentServiceImpl" ref="studentServiceImpl"/>

    </bean>

byName

<bean id="person" class="cn.csdn.byname.Person">

       <property name="name">

           <value>Well_Being</value>

       </property>

    </bean>

    <bean id="studentServiceImpl" class="cn.csdn.byname.StudentServiceImpl" scope="singleton" parent="person"/>

    <bean id="teacherServiceImpl" class="cn.csdn.byname.TeacherServiceImpl" scope="singleton" autowire="byName"></bean>

 

黄色区域代表两者的区别:

分享到:
评论

相关推荐

    spring中的自动装配实例byName、byType

    本篇文章将深入探讨两种主要的自动装配方式:byName和byType,以及它们在实际应用中的实例。 **1. byName自动装配** ByName自动装配是基于bean的属性名来寻找依赖的。假设我们有两个bean,一个是`DataSource`类型...

    spring自动装配例子

    (2)byName:根据属性 名 自动装配,设值注入 &lt;bean id="xxx" class="xxx" &gt;&lt;/bean&gt; (3)byType:根据属性 类型 自动装配,相同类型多个会抛出异常,设值注入 &lt;bean class="xxx" &gt;&lt;/bean&gt; (4)constructor:与 ...

    Spring实现自动装配

    在XML配置中,可以使用`autowire="byName"`开启此功能。 4. **基于注解的自动装配(Annotation-Based Auto-Wiring)**:使用`@Autowired`注解在字段、构造函数、方法或参数级别来指示Spring进行自动装配。默认也是...

    Spring自动装配解析

    - byName:根据bean的属性名自动装配。如果bean的属性名为其他bean的id,那么Spring会尝试将这个bean注入。 - byType:根据属性的类型自动装配。Spring会查找与该属性类型匹配的bean,并将其注入。 - constructor:...

    第四章示例代码__自动装配

    在本节中,我们将深入探讨“自动装配”这一核心概念,特别是在编程领域,尤其是与软件开发框架相关的应用。自动装配是依赖注入(Dependency Injection,DI)的一种实现方式,它简化了对象之间的关联设置,使代码更加...

    spring学习之四“自动装配”

    1. **byName**:基于bean的名称进行自动装配。当Spring容器在bean的属性上发现@Autowired注解时,如果没有指定qualifier,那么Spring会尝试找到一个与该属性名称相同的bean来注入。 2. **byType**:基于bean的类型...

    Java注解机制之Spring自动装配实现原理详解

    其中,byName是指根据Bean对象的名称来进行自动装配,byType是指根据Bean对象的类型来进行自动装配,constructor是指使用构造方法来进行自动装配,autodetect是指自动选择byType或constructor的自动装配方式,no是指...

    spring自动装配

    Spring自动装配提供了几种模式来处理这些依赖,如`byName`、`byType`、`constructor`、`autodetect`和`default`。这些模式帮助Spring容器识别并注入合适的依赖。 - `byName`模式:根据属性名寻找匹配的Bean名称进行...

    spring自动装配项目struts2

    Spring提供了多种自动装配方式,如byType、byName等,可以根据配置或注解来实现。在项目中,通过配置Spring的bean定义,或者使用@Autowired注解,我们可以让Spring自动为我们的bean注入所需的依赖,简化了代码并增强...

    Spring 自动装配及其注解

    2. **byName**:根据bean的属性名匹配bean的ID,将相同名称的bean注入。 3. **byType**:如果一个bean的属性类型与另一个bean的类型相同,那么这个类型的bean将被注入。 4. **构造函数自动装配**:通过bean的构造...

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

    1. **byName**:基于Bean名称的自动装配。Spring会查找与当前Bean属性名相同的其他Bean,并将其注入。例如,如果一个Bean有一个名为`dataSource`的属性,Spring会尝试找到一个名字为`dataSource`的Bean来注入。 2. ...

    Spring的自动装配源代码

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

    Spring自动装配模式表

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

    彻底搞明白Spring中的自动装配和Autowired注解的使用

    在 Spring 中,自动装配是通过 AutowireCapableBeanFactory 接口来实现的,该接口定义了四种自动装配策略:byName、byType、constructor 和 AUTOWIRE_AUTODETECT(已被弃用)。 1. byName 自动装配 byName 自动...

    Spring中自动装配的4种方式

    byName 自动装配是指通过设置 property 标签的 autowire 属性为 byName,Spring 将自动寻找一个与该属性名称相同或 id 相同的 Bean,注入进来。例如: ```xml &lt;property name="driverClassName" value=...

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

    * byName:根据Property的名称自动装配,如果一个Bean的名称和另一个Bean中的Property名称相同,则自动装配这个Bean到Property中。 * byType:根据Property的数据类型自动装配,如果一个Bean的数据类型兼容另一个...

    第五章 Spring4 自动装配、方法注入

    在本章中,我们将深入探讨Spring框架的核心特性之一——自动装配和方法注入。Spring作为一款广泛应用的Java企业级开发框架,极大地简化了依赖管理,提高了代码的可测试性和可维护性。自动装配和方法注入是Spring实现...

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

    这里的`autowire="byName"`指示Spring尝试找到一个名为`name`的Bean来自动装配到`Person`类的相应属性上。 Bean的继承是通过`parent`属性实现的,允许一个Bean继承另一个Bean的配置。这样可以重用和覆盖父Bean的...

Global site tag (gtag.js) - Google Analytics