Spring IoC和AOP使用擴展(二)
一、IOC的實現方式:
Set註入:熟悉必須有公共set方法;
構造器註入:可以根據構造器參數名稱、下標註入;
p命名空間註入:要求有set方法;
內部bean的實現;
<bean id="userService" class="com.service.UserService"> </bean> |
各種數據類型的註入:
list集合的註入 |
<property name="list"><!-- 給list集合註入 --> <list> <value>沾上幹</value> <value>房頂上</value> </list> </property> |
set集合的註入 |
<property name="set"><!-- 給set集合註入 --> <list> <value>aaa</value> <value>bbb</value> </list> </property> |
數組的註入 |
<property name="strs"><!-- 給數組註入 --> <list> <value>沾上幹1!</value> <value>房頂上2!</value> </list> </property> |
map集合的註入 |
<property name="map"><!-- 給map集合註入 --> <map> <entry key="aaa" value="111"></entry> <entry key="bbb" value="222"></entry> </map> </property> |
屬性文件的註入 |
<property name="prop"><!-- 給屬性文件集合註入 --> <props> <prop key="a">!!!</prop> <prop key="b">!!???</prop> </props> </property> |
註入null值 |
<property name="NULL"><!-- 註入null值 --> <null></null> </property> |
註入空串 |
<property name="KC"><!-- 註入空串 --> <value></value> </property> |
二、常用的增強處理
before |
前置之增強處理,在目標方法執行之前織入增強處理 |
AfterReturning | 後置增強處理,在目標方法正常執行(不出現異常)後織入增強處理 |
AfterThrowing | 異常增強處理,在目標方法拋出異常後織入增強處理 |
after | 最終增強處理,不管方法是否拋出異常,都會在目標方式執行之後執行 |
Around | 環繞增強處理,在目標方法前後都可以織入增強處理 |
屬性throwing的值,必須和增強方法的異常參數名一致
三、Spring註解
@Component:實現Bean組件的定義
@Repository :用於標註DAO類
@Service :用於標註業務類
@Controller :用於標註控制器類
1、基本類的註解
在要創建實力的(dao)類上使用對應到@Repository該註解的作用,就等價於:
<bean id="userDao" class="com.dao.UserDao"></bean>
類上的註解,spring容器不知道,需要spring掃描,掃描的多個包用逗號隔開
<context:component-scan base-package="com.dao,com.tools" />
2、環繞通知的註解(AOP註解)
註意:核心配置文件中一定要讓spring啟用對於@AspectJ註解的支持
3、切點的簽名
@Component |
4、環繞通知加註解
|
Spring IoC和AOP使用擴展(二)