文档章节

Bean的自动装配Autowiring

刘春辉
 刘春辉
发布于 2014/12/11 21:31
字数 349
阅读 221
收藏 3

例:有两个类AutoWiringDao和AutoWiringService两个类,AutoWiringDao是AutoWiringService的一个属性.在没用自动装配之前是这样配置的:

<?xml version="1.0" encoding="UTF-8" ?>
<beans ........>
    <bean id="autoWiringDao" class="com.main.huihui.AutoWiringDao" />
    <bean id="autoWiringService" class="com.main.huihui.AutoWiringService">
        <property name="autoWiringDao" ref="autoWiringDao" />
    </bean>
</beans>



在使用自动装配后:

一.no:不做任何操作(默认选项)


二.byName:根据属性名自动装配.此选项将检查容器并根据名字查找与属性完全一致的bean,并将其与属性自动装配.

<?xml version="1.0" encoding="UTF-8" ?>
<beans ........
    default-autowiring="byName">
    <bean id="autoWiringDao" class="com.main.huihui.AutoWiringDao" />
    <bean id="autoWiringService" class="com.main.huihui.AutoWiringService" />
</beans>




三.byType:如果容器中存在一个与指定属性类型相同的bean,那么将与该属性自动装配;如果存在多个该类型bean,那么抛出异常,并指出不能使用byType方式进行自动装配;如果没有找到相匹配的bean,则什么都不发生.根据byType来查找,与id没有关系,id不写也可以.

<?xml version="1.0" encoding="UTF-8" ?>
<beans ........
    default-autowiring="byType">
    <bean id="autoWiringDao" class="com.main.huihui.AutoWiringDao" />
    <bean id="autoWiringService" class="com.main.huihui.AutoWiringService" />
</beans>




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

class AutoWiringService {
    private AutoWiringDao autoWiringDao;
    public AutoWiringService(AutoWiringDao autoWiringDao) {
        this.autoWiringDao = autoWiringDao;
    }
    ....
}



<?xml version="1.0" encoding="UTF-8" ?>
<beans ........
    default-autowiring="constructor">
    <bean id="autoWiringDao" class="com.main.huihui.AutoWiringDao" />
    <bean id="autoWiringService" class="com.main.huihui.AutoWiringService" />
</beans>




© 著作权归作者所有

上一篇: Spring中的Resources
下一篇: Aware
刘春辉
粉丝 4
博文 18
码字总数 5952
作品 0
淄博
程序员
私信 提问
浅析 Spring IoC - Bean Scopes 和 生命周期

Bean scopes Scope用来声明 IoC 容器中对象应该处的限定场景或者说该对象的存活空间,即 IoC 容器在对象进入相应的 scope 之前生成并装配这些对象,在该对象不再处于 scope 的限定后,容器通...

pradosoul
2015/10/21
435
0
Spring框架参考手册_5.0.0_中英文对照版_Part II_3.4

文章作者:Tyan 博客:noahsnail.com 3.4 Dependencies A typical enterprise application does not consist of a single object (or bean in the Spring parlance). Even the simplest app......

Quincuntial
2016/09/25
0
0
Spring_总结_03_装配Bean之自动装配

一、前言 本文承接上一节:Spring总结02_依赖注入 在上一节我们了解到依赖注入的实质就是装配。 这一节我们来学习下装配Bean的相关知识。 二、Bean的装配机制 1.三种装配机制 Spring提供了三...

shirayner
2018/07/27
0
0
《Spring实战》第二章 — 装配Bean

2.1 Spring装配Bean的可选方案 在XML中进行显示配置; 在Java中进行显示配置; 隐式的Bean发现机制和自动装配; 2.2 自动化装配Bean 扫面组件(component scanning):Spring会自动发现应用程序...

巧乐兹
2016/11/07
16
0
《Spring实战》第二章 — 装配Bean

2.1 Spring装配Bean的可选方案 在XML中进行显示配置; 在Java中进行显示配置; 隐式的Bean发现机制和自动装配; 2.2 自动化装配Bean 扫面组件(component scanning):Spring会自动发现应用程序...

杰克鹏仔
2016/11/09
24
0

没有更多内容

加载失败,请刷新页面

加载更多

SpringBoot系列:Spring Boot集成Spring Cache

一、关于Spring Cache 缓存在现在的应用中越来越重要, Spring从3.1开始定义了org.springframework.cache.Cache和org.springframework.cache.CacheManager接口来统一不同的缓存技术,并支持使...

杨小格子
45分钟前
8
0
二、MySql存储引擎简介(笔记)

MySql体系 先来看一下MySql的架构图: MySql的存储引擎在架构的最下层,提供了各式各样的存储特性,下面介绍几个常用的存储引擎。 MyISAM 官方提供的一个存储引擎,在数据库的系统表和系统生...

XuePeng77
昨天
4
0
聊聊nacos config的deleteConfig

序 本文主要研究一下nacos config的deleteConfig ConfigController nacos-1.1.3/config/src/main/java/com/alibaba/nacos/config/server/controller/ConfigController.java @Controller@Re......

go4it
昨天
7
0
面试:原来Redis的五种数据类型底层结构是这样的

关注我,可以获取最新知识、经典面试题以及微服务技术分享   在Redis中会涉及很多数据结构,比如SDS,双向链表、字典、压缩列表、整数集合等等。Redis会基于这些数据结构自定义一个对象系统...

ccww_
昨天
9
0
java发送html模板的高逼格邮件

最近做了一个监测k8s服务pod水平伸缩发送邮件的功能(当pod的cpu/内存达到指定阈值后会水平扩展出多个pod、或者指定时间内pod数应扩展到指定数量),一开始写了个格式很low的邮件,像下面这样...

码农实战
昨天
13
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部