工具:myeclipse
1、新建乙個web project
2、匯入spring開發包:專案檔案——(右鍵)configure facets——install spring facets
3、配置annotaion
4、配置aop:開啟aop命名空間
1、定義業務層操作介面
//定義業務層介面
public inte***ce imemberservice
2、定義成員
public class member
public void setmid(string mid)
public string getname()
public void setname(string name)
@override
public string tostring()
}
3、業務層介面的子類
package cn.mldn.service.impl;
import org.springframework.stereotype.service;
import cn.mldn.service.imemberservice;
import cn.mldn.vo.member;
@service
public class memberserviceimpl implements imemberservice
}
4、寫測試程式
package cn.mldn.test;
import cn.mldn.service.imemberservice;
import cn.mldn.vo.member;
public class testmembertest
}
5、執行結果:
【資料層呼叫】member=member [mid=mldn, name=你好]
false
1、定義切面處理類
package cn.mldn.aop;
@component
public class serviceaspect
public void serviceafter()
}
定義切面引用
3、執行結果:
從結果可以看出,在業務層操作的前後,分別呼叫了業務層呼叫前和呼叫結束的輔助操作
【aop切面】執行日誌記錄操作
【資料層呼叫】member=member [mid=mldn, name=你好]
【aop切面】執行事務處理操作
false
4、pointcut的表示式語法:expression="execution(* cn.mldn..*.*(..)))"
execution(修飾符匹配?返回值型別 操作型別的匹配?名稱匹配(引數匹配) 丟擲異常匹配)
而如果出現了「..」,則表示在任意子包。「*.*」:任意類的任意方法
Spring學習日記(二)AOP的深入操作
上次的aop操作簡單,但對初學者而言,刪繁就簡地體現了aop的設計思想。但有些過於簡化了,本次將把引數帶入到aop的操作中。1 修改切面處理類 改寫servicebefore 使其含有引數 public void servicebefore2 object arg 2 修改配置檔案 切入點表示式 3...
spring學習日記(一)
1.valid 檢驗字串是否為空等操作 2.使用 bindingresult來接收校驗的結果,如果有不合法的引數,從中取出結果資訊,然後返回給前端頁面 3.什麼是token token的意思是 令牌 是服務端生成的一串字串,作為客戶端進行請求的乙個標識。當使用者第一次登入後,伺服器生成乙個token...
Spring中AOP學習 應用(一)
動態 指在程式執行期間動態的將某段 切入到指定方法指定位置進行執行的程式設計方式。1.匯入aop模組 spring aop spring aspects 2.定義乙個業務邏輯類 mathcalculator 在業務執行的時候將日誌執行列印 方法之前 方法執行結束 方法出現異常,3.定義乙個切面類 l...