Spring4--在IoC容器中装配Bean

背景

本章的重点是介绍如何装配Bean。

1.Spring配置概述

Bean配置信息是Bean的元数据信息,它由四个方面组成:

(1)Bean的实现类;

(2)Bean的属性信息,如数据源的连接数、用户名、密码等;

(3)Bean的依赖关系,Spring根据依赖关系配置完成Bean之间的装配;

(4)Bean的行为配置,如生命周期范围及生命周期各过程的回调函数等。

Bean元数据信息在Spring容器中的内部对应物是由BeanDefinition形成的Bean注册表。

下面这张图描述了Spring容器、Bean配置信息、Bean实现类及应用程序之间的相互关系:

基于xml的配置,spring采用Schema格式。spring配置的Schema文件放置在各模块JAR文件内一个名为config的目录下。

2.依赖注入

(1)属性注入指通过setXxx()方法注入Bean的属性值或依赖对象。Spring只会检查Bean中是否有对应的Setter方法,至于

Bean中是否有对应的属性成员变更则不做要求。Spring配置文件中<property>元素所指定的属性名和Bean实现类的Setter

方法满足Sun JavaBean的属性命名规范:xxx的属性对应 setXxx()方法。JavaBean的变量的前两个字母要么全部大写,要

么全部小写。

(2)构造函数注入,它能保证一些必要的属性在Bean实例化就得到设置,确保Bean实例化后就可以使用。Spring容器能对构

造函数配置的Bean进行实例化的前提是,即构造函数入参引用的对象必须已经准备就绪。如果两个Bean都采用构造函数注入,

而且都通过构造函数入参引用对方,就会发生类似于线程死锁的循环依赖问题。解决办法是修改Bean的代码,将构造函数注入

方式调整为属性注入方式。

(3)工厂方法注入。Spring IoC容器以框架的方式提供工厂方法的功能,并以透明的方式开放给开发者,所以很少需要手工编写

基于工厂方法的类。

3.注入参数详解

(1)字面值,指可用字符串表示的值,这些值可以通过<value>元素标签进行注入。Spring容器在内部为字面值提供了编辑器,

它可以将以字符串表示的字面值转换为内部变量的相应类型。

如果配置文件中的注入值包括下面的特殊字符,可以采用<![CDATA[]]>特殊标签,将包含特殊字符的字符串封装起来,另一个

<
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值