自动装配
Spring IoC容器可以自动装配(autowire)相互协作bean之间的关联关系。因此,如果可能的话,可以自动让Spring通过检查BeanFactory
中的内容,来替我们指定bean的协作者(其他被依赖的bean)。autowire一共有五种类型。由于autowire可以针对单个bean进行设置,因此可以让有些bean使用autowire,有些bean不采用。autowire的方便之处在减少或者消除属性或构造器参数的设置,在xml配置文件中,可以在<bean/>
元素中使用autowire属性指定:
模式
|
说明
|
No
|
|
byName
|
根据属性名自动装配。此选项将检查容器并根据名字查找与属性完全一致的bean,并将其与属性自动装配。例如,在bean定义中将autowire设置为by name,而该bean包含master属性(同时提供setMaster(..)方法),Spring就会查找名为master 的bean定义,并用它来装配给master属性。
|
byType
|
如果容器中存在一个与指定属性类型相同的bean,那么将与该属性自动装配。如果存在多个该类型的bean,那么将会抛出异常,并指出不能使用byType方式进行自动装配。若没有找到相匹配的bean,则什么事都不发生,属性也不会被设置。如果你不希望这样,那么可以通过设置dependency-check="objects" 让Spring抛出异常。
|
constructor
|
与byType的方式类似,不同之处在于它应用于构造器参数。如果在容器中没有找到与构造器参数类型一致的bean,那么将会抛出异常。
|
autodetect
|
通过bean类的自省机制(introspection)来决定是使用constructor还是byType方式进行自动装配。如果发现默认的构造器,那么将使用byType方式。
|
优点:自动装配能显著减少配置的数量。
所有的自动装配都可以在xml文件的根标签写default-autowire=””,引号里面填写所需类型。下列bean引用时,直接在bean中写autowire="default"
例如:
<?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"
default-autowire="byName">
<bean id="studentServiceImpl" class="cn.csdn.byname.StudentServiceImpl" scope="singleton" autowire="default" parent="person"/>
</beans>
分享到:
相关推荐
ean的自动装配,有4种 (1)no:不做任何操作 (2)byName:根据属性 名 自动装配,设值注入 <bean id="xxx" class="xxx" ></bean> (3)byType:根据属性 类型 自动装配,相同类型多个会抛出异常,设值注入 ...
Spring框架是Java开发中不可或缺的一部分,它以其强大的依赖注入(Dependency Injection,简称DI)特性而闻名,其中自动装配(Auto-Wiring)是DI的一种实现方式。自动装配允许开发者减少手动配置bean之间的依赖关系...
工业机器人自动装配系统的研究与设计 本文主要研究了工业机器人自动装配系统的设计和开发,旨在解决现有工业机器人装配系统中噪音和粉尘的影响生产环境的问题。该系统由六个模块组成,分别是主控模块、数据采集模块...
Spring框架是Java开发中广泛应用的一个轻量级容器,它的核心特性之一就是依赖注入(Dependency Injection,简称DI),而Spring的自动装配(Auto-Wiring)则是DI的一种实现方式。本篇文章将深入探讨Spring自动装配的...
在本节中,我们将深入探讨“自动装配”这一核心概念,特别是在编程领域,尤其是与软件开发框架相关的应用。自动装配是依赖注入(Dependency Injection,DI)的一种实现方式,它简化了对象之间的关联设置,使代码更加...
在IT行业中,自动装配是一种常见的软件开发技术,特别是在Java Spring框架和前端JavaScript库如Ext JS中。本示例主要探讨的是Ext JS中的自动装配,它主要用于简化组件间的依赖注入,提高代码的可维护性和可扩展性。 ...
在Spring框架中,自动装配(Auto-Wiring)是一种简化依赖注入(Dependency Injection,DI)配置的方式,它允许Spring容器自动管理Bean之间的依赖关系。本文将深入探讨如何通过注解(Annotation)和`@Resource`来实现...
解决IDEA中自动装配,找不到类型的bean问题
在这个"spring自动装配项目struts2"中,我们将探讨如何整合Spring的自动装配特性与Struts2框架,以及Hibernate作为持久层框架的使用。 首先,让我们了解Spring的自动装配(Auto-Wiring)。自动装配是Spring框架的...
在Pro/E或Creo中,自动装配是指通过编写脚本或程序,自动地按照预设规则将多个零部件组合成一个完整的产品。这种技术极大地提高了工程师的工作效率,减少了手动操作的繁琐与错误。 首先,我们需要设置开发环境。在...
在Spring框架中,“自动装配”(Autowiring)是一项核心特性,它允许Spring容器自动为bean注入所需的依赖,而无需显式配置。本篇将深入探讨自动装配的概念、类型以及如何在Spring应用中使用。 自动装配是Spring IoC...
在Spring框架中,自动装配(Auto-Wiring)是一种便捷的方式来管理bean之间的依赖关系,它能够自动将所需的bean注入到目标bean中,而无需显式配置。然而,自动装配并非适用于所有场景,它存在一些限制。以下是一些...
在Spring框架中,集合(List, Map, Set)的自动装配是一项重要的功能,它极大地简化了对象之间的依赖关系处理。本文将深入探讨如何在Spring中对List、Map和Set类型的集合进行自动装配,以及这一特性对初学者的意义。 ...
【标题】: 机器人自动装配方法及技术研究 【描述】: 该研究探讨了机器人在自动装配领域的应用,特别是机器人如何替代人工进行电子产品装配,提高效率和精度。 【标签】: 机器人, 机器学习, 深度学习, 参考文献, ...
下面我们将深入探讨 SpringBoot 的自动装配过程。 首先,SpringBoot 的自动装配始于其独特的依赖管理机制。在 `pom.xml` 文件中,引入的 `spring-boot-dependencies` 父工程包含了所有 SpringBoot 组件的默认版本,...
在Spring Boot框架中,自定义自动装配是开发者为了满足特定需求,对框架默认配置进行扩展或替换的关键技术。Spring Boot的自动配置理念是基于“约定优于配置”,它能根据项目中的依赖自动配置Bean,极大地简化了Java...
1.基于SpringBoot自动装配,引用jar包即可,坐标如下: <groupId>com.glzt</groupId> <artifactId>feignextend <version>1.0.0-SNAPSHOT 2.基于logback、log4j的MDC机制 3.日志配置中添加traceId引用,如下: ...
在Spring Boot中,自动装配是其核心特性之一,它极大地简化了配置,使得开发者能够快速构建应用程序。本文将深入解析Spring Boot自动装配的原理,并探讨starter技术。 首先,我们来看`@Import`注解,它是Spring框架...
本文介绍了一种在三菱工业机器人基础上开发的螺钉自动装配夹爪设计,该夹爪能够实现对多种规格螺钉的自动夹持,大大提高螺钉装配的效率和准确性。 首先,文章指出螺钉装配的难点在于如何实现螺钉的精确定位和抓取。...
本文是关于如何设计基于工业机器人的自动装配生产线的研究。文章中涉及的关键技术包括工业机器人技术、机器视觉技术、PLC控制系统设计、RFID技术以及无线通讯技术等多个领域。 首先,工业机器人在现代化的生产制造...