基於AOP思想的ModelBinder的應用

2021-09-29 23:48:30 字數 726 閱讀 7908

在程式的開發階段,當前臺與後台互動時,需要對某些接收的引數做特殊處理。比如,前端將字串以表單或者是ajax的方式傳到後台,有可能使用者在輸入的時候多輸了空格或者是沒有輸入值,這樣就需要在後台對字串進行統一處理,處理的方式是如果不為null,那麼去掉字串前後的空格,如果為null,那麼就給該字串賦乙個空字串。這就需要為程式中的每乙個與前台互動的方法都做這樣的處理,非常的麻煩。那麼能不能有一種只處理乙個位置,就可以影響其他所有的相關的相互方法呢。可以採用aop的思想,即.net提供了乙個defaultmodelbinder類,只要繼承這個類,然後重寫該類中的bindmodel方法即可。**如下:

通過重寫bindmodel方法,即可解決上述問題。其大概工作原理是,當前端與後台發生互動(submit或ajax)時,mvc框架會首先呼叫bindmodel方法,對所傳的引數進行處理。處理完畢後,在呼叫方法,然後將引數傳遞給方法中的接收引數。在本示例中,只針對字串型別的引數進行處理,也就是說,如果引數是字串型別,那麼會進入bindmodel方法,如果不是則不進入,配置方式如下:

AOP程式設計思想

面向切面程式設計 這是最近接觸到的思想。看名字感覺很新奇,其實就是在底層實現攔截呼叫。通俗點,如果你不小心踩到狗屎,心理不平衡時,你可以在人人都會走過的路上放一坨狗屎,這樣,路過的人都會踩到狗屎。這樣你就實現了面向切面程式設計 個人理解 關鍵字 切面,攔截。用途 操作日誌,許可權驗證等。老規矩介面先...

基於註解的AOP

aop是oop的延續,是aspect oriented programming的縮寫,意思是面向切面程式設計。可以通過預編譯方式和執行期動態 實現在不修改源 的情況下給程式動態統一新增功能的一種技術。aop實際是gof設計模式的延續,設計模式孜孜不倦追求的是呼叫者和被呼叫者之間的解耦,aop可以說也...

spring的AOP 基於XML實現AOP的過程

參考對應的 logaspect bean 或者 logaspect 類。logaspect類如下 package org.zttc.itat.spring.proxy import org.aspectj.lang.joinpoint import org.aspectj.lang.proceedi...