AOP(AOP概念,AOP专业术语,单例模式,bean的id和name属性,基于xml的DI, 构造注入,命名空间p注入,集合属性注入, List 配置文件)

1.AOP概念:
   AOP面向切面编程,横切关注点
2.AOP专业术语
切点:主业务类中能匹配到切点表达式的方法
切面:通知和切点的集合  交叉业务类称为切面
连接点:主业务类中的方法
通知:增强类中的方法
织入:动态的过程,将通知和切点绑定的过程称为织入

3.单例模式
Spring默认生成的bean都是单例的,如何让他变成多例?
 <bean scope="prototype(多例)/singleton(单例)">


4.bean的id和name属性
    当bean中含有特殊字符时,就需要使用name属性了
5.基于xml的DI(Dependency Injection)
     注入类型:
       1.1设值注入(set方法注入):本质上是调用了Bean的setXXX()进行值的注入

       普通属性
          <property name="name" value="微冷的雨"></property>
          <property name="age" value="18"></property>

       域属性(JavaBean属性)
       <property name="myCar" ref="mmCar"></property>
6.  构造注入:
         <bean id="stu2" class="cn.happy.day01.entity.Student">
           <constructor-arg index="0" value="微冷的雨"></constructor-arg>  
           <constructor-arg index="1" value="18"></constructor-arg>  
           <constructor-arg index="2"  ref="mmCar"></constructor-arg>  
        </bean>
7.命名空间p注入 (2个步骤)

      1.1 使用前要先要在Spring配置文件中引入p命名空间
       xmlns:p="http://www.springframework.org/schema/p"

      1.2.本质上还是set方法注入      
      <!--02.p命名空间注入 -->
      <bean id="stu3" class="cn.happy.day01.entity.Student"
      p:name="国庆放假买手机" p:age="18" p:myCar-ref="mmCar">
8.集合属性注入
        数组array
        <bean id="array" class="cn.happy.spring04collection.MyCollection">
       <property name="array">
          <array>
             <value>zly</value>
             <value>lxl</value>
          </array>
       </property>
    </bean>    
     

   9.    List
       配置文件
         <bean id="listCollection" class="cn.day00di_xml.BeanCollection">
        <property name="list">
            <list>
                <ref bean="car"></ref>
                <ref bean="car2"></ref>
            </list>
        </property>
       </bean>
       Set
       Map
       <!--集合属性注入之           Map-->
      <bean id="mapCollection" class="cn.day00di_xml.BeanCollection">
          <property name="map">
              <map>
                  <entry key="Green">
                      <ref bean="car2"></ref>
                  </entry>
                  <entry key="Pink">
                      <ref bean="car"></ref>
                  </entry>
              </map>
          </property>
      </bean>

       <!--  <bean id="collection" class="cn.happy.spring04collection.MyCollection">
       <property name="map">
            <map>
              map中的一项是一个entry
              <entry key="003">
                <value>2016我的毕业季</value>
              </entry>
              <entry key="001">
                <value>2016我的就业季</value>
              </entry>
               <entry key="002">
                <value>2016我的工作季</value>
              </entry>

            </map>
       </property>
    </bean> -->
      
     <!-- properties -->
    <bean id="properties" class="cn.happy.spring04collection.MyCollection">
       <property name="properties">
          <props>
            <prop key="001">001</prop>
            <prop key="002">002</prop>
          </props>
       </property>
    </bean>
     

原文地址:https://www.cnblogs.com/yfyfyff/p/7665784.html