Spring学习笔记(四)

Spring 创建对象的三种方式

  1. 采用默认构造器方式
  2. 静态工厂方式
  3. 实例工厂方式

Bean属性

  • id

Bean的唯一标识名。它必须是合法的XMLID,在整个项目中唯一。

  • name

用来为id创建一个或多个别名,可以和id的值xing相同,是任意的字母符号。多个别名之间用逗号或空格分开。

  • class

用来定义类的全限定名。只有子类Bean不用定义该属性。

  • parent

子类Bean定义它所引用它的父类Bean。这时前面的class属性失效。子类Bean会继承父类Bean的所有属性,子类Bean也可以覆盖父类Bean的属性。

  • abstract

用来定义Bean是否为抽象Bean。它表示这个Bean将不会被实例化,一般用于父类Bean,因为父类Bean主要是供子类Bean继承使用,默认为false。

  • singleton

定义Bean是否是Singleton(单例)。如果设为“true”,则在BeanFactory作用范围内,只维护此Bean的一个实例。如果设为“flase”,Bean将是Prototype(原型)状态,BeanFactory将为每次Bean请求创建一个新的Bean实例,默认为true。

  • lazy-init

有三个属性值,分别是default、true、false,默认为default;当该属性的值为true时,只有在调用该对象(使用)的时候,Spring才会为其创建对象,这就是延迟加载,也叫做懒加载;当该属性值为default或false的时候,在Spring启动的时候就会为其创建对象。如果想对所有bean都应用延迟初始化,可以在根节点beans设置default-lazy-init=“true“。

  • autowire

自动装配(默认为“default”),它定义了Bean的自动装载方式。

  1. no:不使用自动装配功能。
  2. byName:通过Bean的属性名实现自动装配。
  3. byType:通过Bean的类型实现自动装配。
  4. constructor:类似于byType,但它是用于构造函数的参数的自动组装。
  5. autodetect:通过Bean类的反省机制(introspection)决定是使用“constructor”还是使用“byType”。
  • dependency-check

依赖检查,它用来确保Bean组件通过JavaBean描述的所有依赖关系都得到满足,默认为default。

  1. none:不进行依赖检查。
  2. objects:只做对象间依赖的检查。
  3. simple:只做原始类型和String类型依赖的检查
  4. all:对所有类型的依赖进行检查。它包括了前面的objects和simple。
  • depends-on

依赖对象,这个Bean在初始化时依赖的对象,这个对象会在这个Bean初始化之前创建。

  • init-method

用来定义Bean的初始化方法,它会在Bean组装之后调用。它必须是一个无参数的方法。

  • destroy-method

用来定义Bean的销毁方法,它在BeanFactory关闭时调用。同样,它也必须是一个无参数的方法。它只能应用singletonBean。

  • factory-method

定义创建该Bean对象的工厂方法。它用于下面的“factory-bean”,表示这个Bean是通过工厂方法创建。此时,“class”属性失效。

  • factory-bean

定义创建该Bean对象的工厂类。如果使用了“factory-bean”则“class”属性失效。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值