Spring AOP解釋及在項目中使用舉例

一.AOP是什麼

        AOP - Aspect Oriented Programing,面向切面編程。將封裝好的對象切開,找出其中對多個對象產生影響的公共行爲,並將其封裝爲一個可重用的模塊,這個模塊被命名爲「切面」,切面將那些與業務無關,卻被業務模塊共同調用的邏輯提取並封裝起來,減小了系統中的重複代碼,下降了模塊間的耦合度,同時提升了系統的可維護性。spring

        好比:將一大塊包含複製業務邏輯的代碼,經過橫向抽取的方式抽取到一個個獨立的模塊中,好比拆分爲業務邏輯、性能監控以及事務處理。express

        Spring AOP在運行期間經過代理方式向目標類織入加強代碼。編程

二.AOP在項目中的使用

        在Spring項目中配置的事務管理器,就使用到了Spring AOP。性能

<aop:config>
    <aop:pointcut id="bussinessService" expression="execution(public * com.honglin.service..*.*(..))" />
    <aop:advisor pointcut-ref="bussinessService" advice-ref="txAdvice" />
</aop:config>

<tx:advice id="txAdvice" transaction-manager="txManager">
    <tx:attributes>
        <tx:method name="find*" read-only="true" />
        <tx:method name="add*" propagation="REQUIRED"/>
    </tx:attributes>
</tx:advice>

 

        參考資料:spring AOP在實際項目中的應用spa

相關文章
相關標籤/搜索