Spring基本配置

         1  setter注入  

           <beans>
               <bean id="xxx" class="xxxxx">
                    <property name="xxx">
                          <ref local="xxx"/>
                    </property>
               </bean>
           </beans>

         2  构造器注入        

          <bean id="xxx" class=xxx">
               <constructor-arg type="int">
                    <value>90</value>
               </constructor-arg>
          </bean>

        3  bean值引入的几种方式

            (1) 简单的值  <value>xxx</value>

            (2)  本文件定义的bean  <ref  local = "xxx"/>

            (3)  正常的bean引用  <ref  bean="xxx"/>  如果本文件没有定义,其他的配置文件存在定义则引用,如果bean文件和其他文件都有定义,则采用本文件定义的bean,这就是“就近原则”。

            (4)  引用父类 <ref  parent="xxx">

        4  读取Spring配置文件方式

            (1)  XmlBeanFactory parent = new XmlBeanFactory(new FileSystemResource("c:/my.xml"));

            (2)  XmlBeanFactory bean = new XmlBeanFactory(new FileSystemResource("c:/bean.xml",parent ));  和上面的引用父类bean有关

        5  集合类注入

            (1)  map注入

            <bean id="xxxx" class="xxx">

                  <property name="myMap">

                       <map>

                            <entry key="key1">

                                   <value>value1</value>

                            </entry>

                           ......

                       </map> 

                 </property>

           </bean>

          (2)  set注入
 

          <bean id="xxx" class="xxx">

                <property name="mySet">

                      <set>

                           <value>value1</value>

                          ......

                      </set>

                </property>

          </bean>

         (3)  list注入

         <bean id="xxx" class="xxx">

               <property name="myList">

                      <list>

                          <value>value1</value>

                          ......

                      </list>

               </propery>

        </bean>

        (4)  properties注入

        <bean id="xxx" class="xxxx">

               <property name="myProperties">

                      <props>

                            <prop key="key1">

                                  value1           //只能是String类型

                            </prop>

                      <props>

               </property>

        </bean>

     6  非单例bean

        <bean id="xxx" class="xxx" singleton="false" >

        </bean>

     7  手工定义依赖关系

      <bean id="a" class="xxx"></bean>

      <bean id="b" class="xxx" depends-on="a"></bean>

       声明b依赖a,会先实例化a,再实例化b,避免实例化b时,a还没有实例化的情况出现

     8  配置自动装配       

      <bean id="xxx" class="xxx" autowire="byName" />

      <bean id="xxx" class="xxx" autowire="byType" />

      <bean id="xxx" class="xxx" autowire="constructor" />

      <bean id="xxx" class="xxx" autowire="autodetect" />

       1 byName: 如果属性名称和<bean>相同

       2 byType:   根据类型关联

       3 constructor: 与byType类似

       4 autodetect:  在byName和byType之间自动选择

       自动装配会通过指定的方式初始化bean,但是不赞成使用

     9 依赖检查   

      <bean id="xx" class="xxx" dependency-check = "simple/objects/all">

      </bean>

      (1)  simple 对基本类型的数据进行依赖检验

      (2)  objects 对自定义的对象类型进行依赖检验

      (3)  all 对所有的属性进行依赖检验