Bean的配置方式有三种:xml配置,基于注解配置,基于java类配置
Bean的配置信息包含了bean的实现及各个bean之间的依赖关系,Spring容器将各种形式的Bean的配置信息进行读取,并在Spring容器内部建立Bean定义注册表,然后根据注册表对Bean进行加载,实例化,并建立Bean之间的依赖关系,最后将准备就绪的Bean放入Bean缓冲池中,等待外部程序调用。
Bean配置方式详解:
1,基于XML文档配置
(1)XML文档介绍
Spring2.0之后,XML文档采取Schema形式进行配置,使得各种类型拥有自己的命名空间,如beans,mvc,aop
命名空间的作用:
a.默认命名空间:没有空间名,用于bean的定义,文档中无命名空间前缀的标签都属于默认命名空间,如<beans/>,<bean/>
b.自定义命名空间:如aop命名空间,
c.xsi命名空间:用于为文档中的命名空间指定对应的Schema文件
指定命名空间Schema文件地址有两个作用:
一,XML解析器可以获得Schema文件并对文档进行验证
二,IDE可以用其对文档编辑提供诱导作用
Bean的基本配置
<bean id=" " class=" "> class属性制定了Bean对应的实现类
Spring容器中的一个Bean即对应配置文件中的一个<bean/>
Spring容器的getBean(String id)方法用于从Spring容器中获取对应的Bean,是外部程序与Spring容器进行交流的桥梁
Bean的命名
id在Spring容器中唯一,作为Bean的名称
name属性也可以用来指定Bean的名字,可以为多个
Spring配置文件中不允许出现两个相同id的Bean,但是可以有相同name,根据name属性对bean进行引用时,如果name相同,则返回后声明的bean对象,因为后面把前面的覆盖了
如果id,name属性均未指定,如<bean class="zk.Controller"/>则自动将全限定名称作为Bean的名称,同样的方法进行引用