`
javawangli
  • 浏览: 224416 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Spring 中Bean的自动装配六种模式其五

阅读更多

  Spring Bean的自动装配六种模式其五

 Spring IoC容器可以自动装配(autowire)相互协作bean之间的关联关系。因此,如果可能的话,可以自动让Spring通过检查BeanFactory中的内容,来替我们指定bean的协作者(其他被依赖的bean)。autowire一共有种类型。由于autowire可以针对单个bean进行设置,因此可以让有些bean使用autowire,有些bean不采用。autowire的方便之处在减少或者消除属性或构造器参数的设置,这样可以给我们的配置文件减减肥![2xml配置文件中,可以在<bean/>元素中使用autowire属性指定:

模式

说明

Antodetect

通过bean类的自省机制(introspection)来决定是使用constructor还是byType方式进行自动装配。如果发现默认的构造器,那么将使用byType方式

下来我们就用案例来证明一下:准备3个类:

 

public class AddressServiceImpl { 

/**住址*/

private String address; 

public void setAddress(String address){

this.address=address;

}

}



public class HomeAddressServiceImpl extends AddressServiceImpl {


private String address;


public void setAddress(String address){

this.address=address;

}


public HomeAddressServiceImpl() {

super();

}

public HomeAddressServiceImpl(String address){

this.address=address;

}


}



public class EmpServiceImpl {


/**公司地址*/

private AddressServiceImpl companyAddress;



public void setCompanyAddress(AddressServiceImpl companyAddress){

this.companyAddress=companyAddress;

}

}

 

Antodetect值的antodetect.xml配置文件

 

<?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-2.0.xsd"> 


<!-- 配置bean -->

<bean id="addressServiceImpl" class="cn.csdn.service.AddressServiceImpl" scope="singleton">

  <property name="address">

    <value>北京</value>

  </property>

</bean>

<bean id="empServiceImpl" class="cn.csdn.service.EmpServiceImpl" scope="singleton" autowire="autodetect"/>

</beans>

 

 

 测试类:(junit测试)  

 

 public class App { 

@Test

public void test(){

ApplicationContext ac=new ClassPathXmlApplicationContext("classpath:byName.xml"); EmpServiceImpl emp = (EmpServiceImpl) ac.getBean("empServiceImpl");

}

}

 

 结束语:这几期都是为大家提供自动装配Bean的属性值,为学习Spring打下了良好的基础还只的遗体的就是,*可以设置bean使自动装配失效:
采用xml格式配置bean时,将<bean/>元素的autowire-candidate属性设置为false,这样容器在查找自动装配对象时,将不考虑该bean,即它不会被考虑作为其它bean自动装配的候选者,但是该bean本身还是可以使用自动装配来注入其它bean的。

<!--EndFragment-->
分享到:
评论

相关推荐

    Spring实现自动装配

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

    Spring自动装配解析

    Spring框架是Java开发中广泛应用的一个轻量级容器,它的核心特性之一就是依赖注入(Dependency Injection,简称DI),而Spring的自动装配(Auto-Wiring)则是DI的一种实现方式。本篇文章将深入探讨Spring自动装配的...

    spring自动装配例子

    ean的自动装配,有4种 (1)no:不做任何操作 (2)byName:根据属性 名 自动装配,设值注入 &lt;bean id="xxx" class="xxx" &gt;&lt;/bean&gt; (3)byType:根据属性 类型 自动装配,相同类型多个会抛出异常,设值注入 &lt;bean...

    Spring中的自动装配有哪些限制?.docx

    在Spring框架中,自动装配(Auto-Wiring)是一种便捷的方式来管理bean之间的依赖关系,它能够自动将所需的bean注入到目标bean中,而无需显式配置。然而,自动装配并非适用于所有场景,它存在一些限制。以下是一些...

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

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

    day38 16-Spring的Bean的装配:注解的方式

    在Spring框架中,Bean的装配是核心功能之一,它允许我们管理对象的生命周期和依赖关系。本篇将探讨“注解的方式”来实现Spring Bean的装配。注解提供了声明式的方式来配置Bean,使得代码更加简洁,减少了XML配置的...

    Spring自动装配模式表

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

    spring装配bean实例代码

    在Spring框架中,Bean装配是核心功能之一,它负责初始化、配置和管理应用程序中的对象。本文将深入探讨Spring装配Bean的实例代码,帮助你更好地理解这一关键概念。 首先,Spring装配Bean主要有两种方式:XML配置和...

    spring自动装配

    标题中的“Spring自动装配”指的是Spring框架中的一个重要特性,它允许开发者在不显式配置Bean依赖的情况下,由Spring容器自动管理Bean之间的依赖关系。这一特性极大地简化了代码,提高了可维护性和可测试性。 在...

    spring装配bean的3种方式总结

    Spring装配Bean的3种方式总结 Spring框架是Java EE应用程序的核心框架之一,它提供了依赖注入(Dependency...Spring提供了三种方式来装配Bean,每种方式都有其优缺,开发者可以根据实际情况选择合适的方式来装配Bean。

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

    在Spring框架中,自动装配(Auto-Wiring)是一种简化依赖注入的方式,它允许Spring容器自动为bean找到并设置其依赖。本篇文章将深入探讨两种主要的自动装配方式:byName和byType,以及它们在实际应用中的实例。 **1...

    详解Spring中Bean的生命周期和作用域及实现方式

    Spring中Bean的生命周期和作用域及实现方式 Spring是一个非常流行的Java应用程序框架,它提供了一个灵活的机制来管理Bean的生命周期和作用域。Bean的生命周期和作用域是Spring框架中两个非常重要的概念,它们决定了...

    spring bean XML配置入门

    在本文中,我们将深入探讨Spring框架中的Bean XML配置,这是Spring的核心特性之一,它允许我们定义、管理和装配应用中的对象。我们将围绕以下知识点展开: 1. **Spring框架基础**: Spring是一个开源的Java平台,...

    spring自动装配项目struts2

    在这个"spring自动装配项目struts2"中,我们将探讨如何整合Spring的自动装配特性与Struts2框架,以及Hibernate作为持久层框架的使用。 首先,让我们了解Spring的自动装配(Auto-Wiring)。自动装配是Spring框架的...

    Spring的自动装配源代码

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

    spring bean 属性总结

    有五种模式: - `no`:不自动装配,所有依赖都需手动配置。 - `byName`:根据属性名称自动装配。 - `byType`:根据属性类型自动装配。如果有多个匹配,会报错。 - `constructor`:根据构造函数参数类型自动装配...

    4Spring自动装配——annotation resource方式

    然而,`@Resource`注解则提供了另一种自动装配方式,尤其是在处理Java EE规范中的资源时,如JNDI查找。 ### 二、`@Resource`注解 `@Resource`注解源于JSR-250规范,Spring也对其进行了支持。与`@Autowired`不同,`...

    Spring 自动装配及其注解

    在Spring框架中,自动装配(Autowiring)是一种机制,它允许Spring容器自动为bean提供其依赖,而无需显式配置。自动装配极大地简化了应用的配置,使得开发者可以更专注于业务逻辑。本文将深入探讨Spring自动装配的...

    spring中的bean

    在Spring中,Bean通常代表应用程序中的一个对象,这些对象由Spring容器(ApplicationContext)管理,包括创建、初始化、装配和销毁。Bean可以通过XML配置文件、注解或者Java配置类进行定义。 1. **Bean的定义**:在...

    面试官常问的spring依赖注入和bean的装配问题.pdf

    Spring提供了五种自动装配模式:no(默认不自动装配)、byName、byType、constructor和autodetect。 显式装配是指在Spring配置文件中明确指定如何注入依赖,包括setter注入和构造器注入,这种方式虽然配置繁琐,但...

Global site tag (gtag.js) - Google Analytics