`
SilenceGG
  • 浏览: 108537 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

spring的autowire详解

    博客分类:
  • JAVA
 
阅读更多

spring 中 autowire 经常使用,但很少关注其每个含义,今日MARK下

 

<bean>autowire属性有如下六个取值,他们的说明如下:

1、 No:即不启用自动装配。Autowire默认的值。

2、 byName:通过属性的名字的方式查找JavaBean依赖的对象并为其注入。比如说类Computer有个属性printer,指定其autowire属性为byName后,Spring IoC容器会在配置文件中查找id/name属性为printerbean,然后使用Seter方法为其注入。

3、 byType:通过属性的类型查找JavaBean依赖的对象并为其注入。比如类Computer有个属性printer,类型为Printer,那么,指定其autowire属性为byType后,Spring IoC容器会查找Class属性为Printerbean,使用Seter方法为其注入。

4、 constructor:通byType一样,也是通过类型查找依赖对象。与byType的区别在于它不是使用Seter方法注入,而是使用构造子注入。

5、 autodetect:在byTypeconstructor之间自动的选择注入方式。   ? 好像是<bean>autowire属性有如下六个取值,他们的说明如下:

1、 No:即不启用自动装配。Autowire默认的值。

2、 byName:通过属性的名字的方式查找JavaBean依赖的对象并为其注入。比如说类Computer有个属性printer,指定其autowire属性为byName后,Spring IoC容器会在配置文件中查找id/name属性为printerbean,然后使用Seter方法为其注入。

3、 byType:通过属性的类型查找JavaBean依赖的对象并为其注入。比如类Computer有个属性printer,类型为Printer,那么,指定其autowire属性为byType后,Spring IoC容器会查找Class属性为Printerbean,使用Seter方法为其注入。

4、 constructor:通byType一样,也是通过类型查找依赖对象。与byType的区别在于它不是使用Seter方法注入,而是使用构造子注入。

5、 autodetect:在byTypeconstructor之间自动的选择注入方式。  ? byType 与 byName

6、 default:由上级标签<beans>default-autowire属性确定。

注意:在配置bean时,<bean>标签中Autowire属性的优先级比其上级标签高,即是说,如果在上级标签中定义default-autowire属性为byName,而在<bean>中定义为byType时,Spring IoC容器会优先使用<bean>标签的配置。

6、 default:由上级标签<beans>default-autowire属性确定。

注意:在配置bean时,<bean>标签中Autowire属性的优先级比其上级标签高,即是说,如果在上级标签中定义default-autowire属性为byName,而在<bean>中定义为byType时,Spring IoC容器会优先使用<bean>标签的配置。

分享到:
评论

相关推荐

    spring-autowire.zip

    《Spring自动装配详解——基于IDEA 2020的小实例》 在Java开发领域,Spring框架以其强大的功能和灵活性,成为了企业级应用开发的首选。其中,Spring的自动装配特性(Autowired)是其核心特性之一,极大地简化了依赖...

    Spring实战之@Autowire注解用法详解

    Spring实战之@Autowire注解用法详解 Spring是一个流行的Java框架,提供了许多有用的功能和注解来简化开发过程。@Autowire是Spring框架中一个非常重要的注解,用于自动装配Bean。下面将详细介绍@Autowire注解的用法...

    spring配置详解

    `autowire`属性可以设置为`byName`、`byType`、`constructor`或`default`,让Spring根据bean的名称、类型或构造器自动查找并注入依赖。 七、Spring与其他技术的集成 Spring支持与各种技术的集成,如JDBC、JMS、...

    JAVA spring 系列案例50个和学习资料

    Spring系列第7篇:依赖注入之手动注入Spring系列第8篇:自动注入(autowire)详解,高手在于坚持Spring系列第9篇:depend-on到底是干什么的?Spring系列第10篇:primary可以解决什么问题?Spring系列第11篇:bean中...

    Spring-Reference_zh_CN(Spring中文参考手册)

    3.3.3. bean属性及构造器参数详解 3.3.3.1. 直接量(基本类型、Strings类型等。) 3.3.3.2. 引用其它的bean(协作者) 3.3.3.3. 内部bean 3.3.3.4. 集合 3.3.3.5. Nulls 3.3.3.6. XML-based configuration metadata ...

    SSH Spring执行流程

    ### SSH Spring执行流程详解 #### 一、引言 在当今的企业级应用开发中,SSH框架(Struts2 + Spring + Hibernate)是非常流行的轻量级Java Web开发模式之一。本篇将详细介绍SSH框架中Spring执行流程的具体步骤及其...

    eclipse for Spring2.0新2

    《Eclipse for Spring 2.0 新特性详解》 Eclipse for Spring 2.0 是一个专门为Spring框架提供集成开发环境(IDE)的扩展,它极大地提升了开发人员在使用Spring框架时的效率和便利性。这个版本带来了诸多新功能和...

    Spring集成ActiveMQ配置

    Spring集成ActiveMQ配置详解 Spring框架与ActiveMQ的集成,为开发者提供了一种高效、可靠的JMS消息处理机制。在企业级应用中,这种集成能够极大地提升系统的响应速度和容错能力,特别是在需要异步通信和分布式事务...

    spring 属性参考与自动绑定

    《Spring属性参考与自动绑定详解》 在Java的Spring框架中,属性参考和自动绑定是两个重要的概念,它们为开发者提供了灵活且强大的依赖注入机制。本文将深入解析这两个概念,并通过示例代码来阐述其工作原理。 ### ...

    org.springframework.roo.annotations

    《Spring Roo注解详解及其在Maven项目中的应用》 Spring Roo是Spring框架的一个扩展,它提供了一种快速开发工具,旨在简化Java企业级应用程序的创建。`org.springframework.roo.annotations`包是Spring Roo的核心...

    springwebsocket 中文注释案例

    《Spring WebSocket 中文注释案例详解》 在现代Web开发中,实时通信功能变得越来越重要,Spring框架提供了WebSocket支持,使得服务器与客户端可以进行双向通信,实现高效、低延迟的数据交换。本文将深入探讨一个...

    Spring xml 方式配制的小demo

    **Spring XML配置详解** 在Java开发领域,Spring框架以其强大的依赖注入(Dependency Injection,简称DI)和面向切面编程(Aspect-Oriented Programming,简称AOP)能力,成为了企业级应用开发的重要工具。本篇文章...

    尚学堂spring课程培训代码

    《尚学堂Spring课程培训代码详解》 在编程领域,Spring框架是Java开发中不可或缺的一部分,尤其在企业级应用中占据主导地位。尚学堂的Spring课程深入浅出地讲解了Spring的核心概念和技术,包括AOP(面向切面编程)...

    Spring 2.0 开发参考手册

    3.3.6. 自动装配(autowire)协作者 3.3.7. 依赖检查 3.3.8. 方法注入 3.4. bean的作用域 3.4.1. Singleton作用域 3.4.2. Prototype作用域 3.4.3. 其他作用域 3.4.4. 自定义作用域 3.5. 定制bean特性 3.5.1...

    Spring自动装配与扫描注解代码详解

    Spring自动装配与扫描注解代码详解 Spring自动装配是指Spring框架中的一种机制,用于自动装配 Bean 之间的依赖关系,而无需手动编写大量的XML配置文件。这种机制可以大大简化Spring应用程序的配置和维护工作。 在...

    spring bean 属性总结

    ### Spring Bean 属性详解 Spring框架是Java平台上的一个开源框架,主要用来简化企业级应用程序的开发。在Spring中,核心概念之一就是Bean,它是一个简单的Java对象,由Spring IoC容器管理。Spring通过XML配置文件...

    struts2常量设置详解 struts2常量设置详解

    struts.objectFactory.spring.autoWire.alwaysRespect=false ``` **说明**:该配置项通常无需特别设置。只有在特定情况下,如希望强制遵循某种自动装配策略时才考虑启用。 ##### 8. `struts.objectTypeDeterminer`...

Global site tag (gtag.js) - Google Analytics