spring_7
1:
使用XML方式來配置Spring AOP
2:
Spring aop 應用方面:
例如:權限系統、運行期監控
3:
<bean id="aspectbean" class="cn.rui.aop.XmlInterceptor"/>
<aop:config>
<aop:aspect id="asp" ref="aspectbean">
<aop:pointcut id="mycut" expression="execution(* com.rui..*.*(..))"/>
<aop:before pointcut-ref="mycut" method="doAccessCheck"/>
<aop:after-returning pointcut-ref="mycut" method="doAfterReturning"/>
<aop:after-throwing pointcut-ref="mycut" method="doAfterThrowing"/>
<aop:after point-ref="mycut" method="doAfter"/>
<aop:around point-ref="mycut" method="doBasicProfiling"/>
</aop:aspect>
</aop:config>
4:
對于執行的表達式 execution(* com.rui..*.*(..)) execution(1 2..3.4(5))
中對于1 為方法的返回值 可以指定任意類型 * 代表所有類型, 其他類型用包名 + 類名如java.lang.String,空為void, 若取非某種類型則為 ! 加上 類型即可 如: !java.lang.String 或 !void
對于2 為包名 對于包名后的兩個點意為包含所有的子包,也可直接為包名+ 類名
對于3為類名 可以寫 * 代表所有的類,也可指定特定的類 直接類名即可
對于4為方法名 * 代表所有方法 ,也可指定特定的方法
對于 5 為方法的參數 可以指定 .. 代表所有的方法,對于方法的比如方法的第一個參數必須為java.lang.Integer 的則表達式為 (java.lang.Integer,..)
對于最后一個參數必須為java.lang.String則為(..,java.lang.String) 前面的兩個點代表String類型前可能有也可能沒有
posted on 2011-01-05 21:00 calmJava 閱讀(146) 評論(0) 編輯 收藏 所屬分類: Spring