1. spring配置中属性也可以用标签代替例如value属性可以用<value></value>标签代替
  2. value中的特殊字符用     <![CDATA[字面值]]>
  3. property标签的ref属性建立bean之间的引用关系
  4. 可以在property标签内建bean标签表示内部bean,不能被外部引用
  5. null值(null值不赋值默认也是null)使用方法标签内加<null/>标签
  6. 级联赋值配置(比如  A{B b;}  )同样需要set方法
    class B{
    	String name;
    }
    class A{
    	B b;
    }
  7. 类中的集合属性用list标签配置

    (例如List)的配置

    	<bean id="id名称" class="类路径">
    		<property name="属性名(集合变量名称)">
    			<list>
    				<ref bean="类路径"/>
    			</list>
    		</property>
    	</bean>

    (Map类型)和list差不多,唯一需要注意的是Map有key和value所以对应<entry></entry>标签

    			<map>
    				<entry key="" value-ref=""></entry>
    				<entry key="" value-ref=""></entry>
    			</map>
  8. 配置properties的属性值

    		<property name="name" value="spring">
    			<props key="属性名">
    				属性值
    			</props>
    			<props key="属性名2">
    				属性值2
    			</props>
    		</property>
  9. 配置独立集合bean,使用基本的集合标签定义集合时,不能将集合作为独立的bean定义,导致其他bean无法引用该集合此时通过配置独立集合bean即可解决问题

    首先导入命名空间eclipse中如下图框出来的部分
    下面的勾选实际上就是在beans标签上加上属性xmlns:util="截图中地址"
    spring中配置bean属性的细节_属性值
    然后就有<util:list>标签提示,如下规则在这个命名空间中添加列表

    	<util:list id="hellos">
    		<bean id="hello1" class="com.taotao.beans.HelloWorld"></bean>
    		<bean id="hello2" class="com.taotao.beans.HelloWorld"></bean>
    		<bean id="hello3" class="com.taotao.beans.HelloWorld"></bean>
    	</util:list>

    接着就可以使用命名空间内的bean和list

    	<bean id="id名称" class="类路径">
    		<property name="hellos" ref="hellos引用前面命名空间的bean"></property>
    	</bean>
  10. p命名空间为bean属性赋值,需要先导入p命名空间 在beans标签上加属性 xmlns:p="http://www.springframework.org/schema/p",其实就是将xmlns复制因为不能重名所以加:p然后修改最后一个参数beans改成p即可,下面就能使用p来操作

    <beans xmlns="http://www.springframework.org/schema/beans"
           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
           xmlns:p="http://www.springframework.org/schema/p"
           xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
    	<bean id="id名称" class="类路径">
    		<property name="hellos" p:hellos-ref="hellos引用前面命名空间的bean"></property>
    	</bean>
  11.  工厂bean,意思就是通过bean标签注入的是一个工厂bean,返回的类型不是bean属性class的值
    注入的这个bean需要实现FactoryBean接口,通过重写的方法getObject方法得到返回类型的实例

  12. bean的作用域,主要目的用于控制bean是单例还是多实例模式,通过bean标签设置scope属性值如果是singleton则是单例,如果是prototype则是多实例的bean,spring默认是单例的bean,意思没错需要时返回都是同一个如果设置为多实例,每次返回都是不同的对象地址

  13. bean生命周期

    单独在IOC的生命周期
    一、通过构造方法创建bean(默认无参)
    二、为bean属性赋值(调用set方法)
    三、调用bean的初始化方法需要通过在bean属性上加init-method="方法名"才行
    四、通过ioc获取bean
    五、容器关闭时销毁bean, 通过bean标签属性destroy-method="销毁bean时调用的方法名"

    完整的生命生命周期有七步
    一、通过构造方法创建bean(默认无参)
    二、为bean属性赋值(调用set方法)
    三、把bean实例传递bean后置处理器的初始化之前方法
    四、调用bean的初始化方法需要通过在bean属性上加init-method="方法名"才行
    五、把bean实例传递bean后缀处理器的初始化之后方法
    六、通过ioc获取bean
    七、容器关闭时销毁bean, 通过bean标签属性destroy-method="销毁bean时调用的方法名"

  14. 自动装配,通过在bean上加属性autowired="byName"或者"byType"则如果对象如果有使用到其它bean则会自动将该bean装配到当前bean标签的实例上

  15. 引入外部properties文件或者yml文件等文件。通过在beans标签加命名空间一样的方式,xmlns:context="http://www.springframework.org/schema/context" 然后通过

    <context:property-placeholder location="classpath:jdbc.properties"></context:property-placeholder>

    然后就可以直接使用propertioes文件定义的属性,通过spel表达式获取及 ${ } 或者 #{ }

  16.