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

自动装配之Autodetect

阅读更多

自动装配之Autodetect

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

下面通过示例来理解:

JavaBean代码:

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

public class AddressServiceImpl {

   /**住址*/

   private String address;

   public void setAddress(String address){

      this.address=address;

   }

}

//JavaBeanàHomeAddressServiceImpl继承了AddressServiceImpl

public class HomeAddressServiceImpl extends AddressServiceImpl {}

//JavaBeanàEmpServiceImpl,定义一个companyAddress,和一个相应构造器依赖注入。

public class EmpServiceImpl {

   /**公司地址*/

   private AddressServiceImpl companyAddress;

   public EmpServiceImpl(AddressServiceImpl companyAddress){

      this.companyAddress=companyAddress;

   }

}

autodetect.xml文件:

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

     <property name="address">

       <value>北京上海</value>

     </property>

</bean>

<bean id="homeAddressServiceImpl" class="cn.csdn.service.HomeAddressServiceImpl" scope="prototype"

parent="addressSerciceImpl">

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

提示:这节除了autowire的值和上一节constructor的值不一样,其余都一样。JavaBean中有默认的构造器,使用byType方式,否则使用constructor。这里因有构造器,所以byType

注意:同样黄色区域和绿色区域,只则其一相同类型只能在配置文件中出现一次。

分享到:
评论

相关推荐

    Spring自动装配解析

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

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

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

    spring学习之四“自动装配”

    5. **autodetect**:Spring会尝试检测bean的构造函数或setter方法,如果找到有@Autowired注解的,就进行自动装配。 二、使用自动装配 1. **@Autowired**注解:这是Spring提供的用于标记需要自动装配的字段、构造器...

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

    5. **autodetect**:Spring会尝试通过检查bean类的无参构造函数或setter方法来自动检测装配。 压缩包子文件`CnblogLesson_4.sln`很可能是一个Visual Studio解决方案文件,包含了该项目的所有组件,包括源代码、资源...

    spring自动装配

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

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

    4. **autodetect**:自动检测。Spring会检查Bean是否有无参构造函数以及setter方法,如果有,Spring会尝试通过setter方法进行byType的自动装配。 5. **no**:关闭自动装配。当设置为`no`时,Spring不会进行任何自动...

    Spring的自动装配源代码

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

    Spring自动装配模式表

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

    Spring中自动装配的4种方式

    autodetect 自动装配是指通过设置 bean 标签的 autowire 属性为 autodetect,Spring 容器会首先尝试构造器注入,然后尝试按类型注入。例如: ```xml &lt;property name="dataSource" autowire="autodetect" /&gt; ``` ...

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

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

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

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

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

    Spring自动装配Bean实现过程详解 Spring框架提供了自动装配Bean的功能,该功能可以根据Bean的属性名称或类型自动将Bean装配到其他Bean中,从而简化了Bean的配置工作。在本文中,我们将详细介绍Spring自动装配Bean...

    Spring的自动装配Bean的三种方式

    最后,还提到了一种已被废弃的自动装配模式`autodetect`,在Spring 3.0以后的版本中,这个模式不再合法。它原本的意图是自动检测是否有默认构造函数,如果有,则使用`constructor`方式自动装配;如果没有,就使用`...

    JSP Spring 自动化装配Bean实例详解

    - **自动检测(autodetect)**:Spring会自动选择使用构造器装配还是按类型装配。 ### Spring注解 使用注解(annotation)可以让Spring更简单地识别Bean,无需在XML中配置。@Component是一个通用的构造型注解,...

    软通笔试题

    autodetect 通过 bean 类的自省机制来决定是使用 constructor 还是 byType 方式进行自动装配。 四、Servlet 和 JSP 会话创建 在默认情况下,用户请求一个 Servlet 时,容器会为当前用户创建一个会话;而当用户请求...

    autowire自动导入句柄

    - **autodetect**:尝试通过构造函数进行自动装配,如果找不到合适的构造函数,则尝试按类型自动装配。 ### 3. `@Autowired`注解 `@Autowired`是Spring提供的一个注解,用于实现按类型自动装配。当在字段、setter...

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

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

    尚学堂_Spring_0800_IOC_Auto_Wire

    4. **自动装配(Auto Wiring)**:Spring提供了几种自动装配的方式,如byName、byType、constructor、autodetect等。自动装配减少了XML配置文件的复杂性,Spring会根据bean的属性类型或名称尝试匹配并注入相应的依赖...

    如何完成spring的最小化XML配置

    - `autodetect`:首先尝试`constructor`,如果失败,则尝试`byType`。但当出现多个匹配项时,Spring不会自动选择,需要手动处理。 如果遇到多个匹配项,可以使用`primary`属性标记首选Bean,或使用`autowire-...

Global site tag (gtag.js) - Google Analytics