初始Spring——Spring核心容器 (2)

  ① id属性:Bean的名称在IOC容器中必须是唯一的。

  ② class属性:指定Bean对应实现类的全类名,即包名加类名,必须有无参构造。

  ③ scope属性: 前面提到过的作用域属性,不指定默认为singleton,即单实例模式。

  ④ name属性:设置<bean>标签的别名,多个别名之间用逗号或空格分开。

  ⑤ parent属性:子类Bean定义它所引用它的父类Bean。子类Bean定义它所引用它的父类Bean。这时前面的class属性失效。子类Bean会继承父类Bean的所有属性,子类Bean也可以覆盖父类Bean的属性。注意:子类Bean和父类Bean是同一个Java类。

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

  ⑦ singleton属性:作用同③,默认为true

  ⑧ lazy-init属性:用来定义这个Bean是否实现懒初始化。如果为“true”,它将在BeanFactory启动时初始化所有的SingletonBean。反之,如果为“false”,它只在Bean请求时才开始创建SingletonBean。

  ⑨ autowire属性:它定义了Bean的自动装载方式。“no”:不使用自动装配功能。“byName”:通过Bean的属性名实现自动装配。“byType”:通过Bean的类型实现自动装配。“constructor”:类似于byType,但它是用于构造函数的参数的自动组装。“autodetect”:通过Bean类的反省机制(introspection)决定是使用“constructor”

  ⑩ dependency-check属性:它用来确保Bean组件通过JavaBean描述的所以依赖关系都得到满足。在与自动装配功能一起使用时,它特别有用。none:不进行依赖检查objects:只做对象间依赖的检查。simple:只做原始类型和String类型依赖的检查。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”属性失效。

三. spring中bean配置  

bean配置有三种方法:

1、配置形式:
①基于xml文件  ②基于注解  ③基于java类

2、配置方式:
①通过全类名(反射)
②通过工厂方法(静态工厂方法、实例工厂方法)
③FactoryBean

3、依赖注入方式:
①属性注入  ②构造器注入

1. 基于xml 全类名 属性注入

 

<bean id="helloWorld" class="top.arioso.spring.beans.HelloWorld"> <property name="id"> <value>123456</value> </property> <property name="age" value="18"></property> </bean> property节点:为Bean属性赋值,name为属性名,value对应属性值,属性值要有setter方法 value属性可用子节点value替代

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wpzpgf.html