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>