緣由:專案內需要將Exception獨立抽出來處理,為了不影響原有的商業邏輯,並且讓code reuse
所以第一時間就想到要用AOP實作,順便回去練一下很久沒碰的Spring AOP,並複習一下觀念
所以第一時間就想到要用AOP實作,順便回去練一下很久沒碰的Spring AOP,並複習一下觀念
問題:Exception處理
解決方式:Spring AOP Around Advice
好處:
1. 統一錯誤訊息,讓每個工程師各寫各的錯誤處理風格可以得到統一。
2. 讓其他人可以專注在商務邏輯
3. 程式看起來比較簡潔乾淨
1. 統一錯誤訊息,讓每個工程師各寫各的錯誤處理風格可以得到統一。
2. 讓其他人可以專注在商務邏輯
3. 程式看起來比較簡潔乾淨
基本上我不解釋觀念,因為網路上已經有很多很棒的解說了
我也還在學習,很多東西其實第一次看完全都不懂,很抽象,
但隨著時間、經驗的累積,又回去看了第二次第三次,就會越來越有感覺
我也還在學習,很多東西其實第一次看完全都不懂,很抽象,
但隨著時間、經驗的累積,又回去看了第二次第三次,就會越來越有感覺
In Spring AOP, 4 type of advices are supported :
- Before advice – Run before the method execution
- After returning advice – Run after the method returns a result
- After throwing advice – Run after the method throws an exception
- Around advice – Run around the method execution, combine all three advices above.
============================= 分隔線 =================================
我是使用 Around advice ,其實也就是把程式裡散落在各處的try catch集中至ExceptionAdvice統一處理。
build.gradle
applicationContext.xml
com.test.aop.advice.ExceptionAdvice
com.test.service.TestService
參考資料
http://www.mkyong.com/spring/spring-aop-examples-advice/
http://www.journaldev.com/2583/spring-aop-example-tutorial-aspect-advice-pointcut-joinpoint-annotations-xml-configuration
http://www.springframework.org/schema/aop/spring-aop.xsd
http://www.mkyong.com/spring3/spring-aop-aspectj-in-xml-configuration-example/
http://www.journaldev.com/2583/spring-aop-example-tutorial-aspect-advice-pointcut-joinpoint-annotations-xml-configuration
http://www.springframework.org/schema/aop/spring-aop.xsd
http://www.mkyong.com/spring3/spring-aop-aspectj-in-xml-configuration-example/
沒有留言:
張貼留言