`
javawangli
  • 浏览: 224912 次
  • 性别: 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属性指定:

模式

说明

 Constructor

byType的方式类似,不同之处在于它应用于构造器参数。如果在容器中没有找到与构造器参数类型一致的bean,那么将会抛出异常。 

下来我们就用案例来证明一下:准备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;

}

}

 

Constructor值的constructor.xml配置文件

  ConstructorbyType的方式类似,不同之处在于它应用于构造器参数。如果在容器中没有找到与构造器参数类型一致的bean,那么将会抛出异常 

 

 

 

<?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="homeAddressServiceImpl" class="cn.csdn.service.HomeAddressServiceImpl" scope="prototype">

  <property name="address">

    <value>北京</value>

  </property>

</bean>

<!-- 自动装配 采用constructor 构造器中的参数是按照byType进行装配的

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

</beans>

 

 测试类:(junit测试)  

  public class App { 

@Test

public void test(){

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

}

}

 

<!--EndFragment-->
分享到:
评论
2 楼 javawangli 2011-04-28  
总共是6种模式 你可以参考http://javawangli.iteye.com/admin/blogs/1010764
1 楼 _木凡 2011-04-28  
这就是构造器类 的,自动装载

相关推荐

    Spring实现自动装配

    在Spring 4中,自动装配主要有以下几种方式: 1. **无注解自动装配(No Annotation Auto-Wiring)**:在XML配置文件中,通过`&lt;context:component-scan&gt;`元素扫描指定包下所有的类,将它们声明为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中Bean的生命周期和作用域及实现方式

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

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

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

    spring自动装配项目struts2

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

    spring bean XML配置入门

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

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

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

    spring学习之四“自动装配”

    在Spring框架中,“自动装配”(Autowiring)是一项核心特性,它允许Spring容器自动为bean注入所需的依赖,而无需显式配置。本篇将深入探讨自动装配的概念、类型以及如何在Spring应用中使用。 自动装配是Spring IoC...

    Spring的自动装配源代码

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

    Spring 自动装配及其注解

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

    spring bean 属性总结

    可以选择四种模式: - `none`:不进行检查。 - `simple`:检查基本类型和集合。 - `objects`:检查其他Bean(合作者)。 - `all`:检查所有类型。 - **lazy-init属性**:控制Bean的延迟加载。如果设置为`true`...

    spring中的bean

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

Global site tag (gtag.js) - Google Analytics