Spring的配置

来源:互联网 发布:云计算概念技术与架构 编辑:程序博客网 时间:2024/06/05 15:50

Spring应用要想成功启动,一个充分必要条件就是应用程序为Spring提供了完整的Bean配置信息
Bean的配置信息主要包括以下几个方面:

  • Bean的实现类
  • Bean的属性信息,如数据源的连接数,用户名,密码等
  • Bean的依赖关系,Spring根据依赖关系配置完成Bean之间的装配
  • Bean的行为配置,如生命周期范围和生命周期各过程的回调函数

Bean的基本配置

装配一个Bean

首先我们来看一个最为简单的XML配置

<beans xmlns="http://www.springframework.org/schema/beans"    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"     xmlns:context="http://www.springframework.org/schema/context"    xsi:schemaLocation="http://www.springframework.org/schema/beans         http://www.springframework.org/schema/beans/spring-beans-3.2.xsd >    <bean id="car" class="com.zhao.simple.Car"/>    <bean id="boss" class="com.zhao.simple.Boss"/></beans>

其中id为这个Bean的id名称,通过Spring容器的getBean(”car”)即可获取相应的Bean,在Spring容器中起到了定位查找的作用,是外部容器和Spring IOC容器进行交互的桥梁,class属性指定了Bean对应的实现类

Bean的命名

  一般情况下,在配置一个Bean时,需要为其指定一个id属性作为Bean的名称,id在IoC容器中必须是唯一的。且必须是字母开始,后面可以是字母,数字,连字符,下划线,句号冒号等完整结束的符号。逗号和空格这些非结束符是非法的。
  如果用户确实希望用一些特殊字符进行Bean的命名,则可以使用Bean的name属性,name属性没有字符上的限制,几乎可以使用任何字符。
  如果id和name都未指定,那么Spring自动将全限定类名作为Bean的名称,即可通过getBean(“com.smart.simple.Car”)来获取car Bean
如果出现多个同名Bean,且并未通过id和name区分,如下

    <bean class="com.zhao.simple.Car"/>    <bean class="com.zhao.simple.Car"/>    <bean class="com.zhao.simple.Car"/>

则第一个仍通过getBean(“com.smart.simple.Car”)获取,第二个通过getBean(“com.smart.simple.Car#1”)获取,依次类推。