動態**:
在測試類中來指定
daoif target=new dao()
daoif prox=(daoif) proxy.newproxyinstance(target.getclass().getclasslocader(),)構造乙個物件,
三個引數分別是:載入器,**介面,**做什麼的封裝類
但是我們還自己寫封裝類實現invocationhandler介面,它作用是為**要做什麼進行乙個封裝。
method.invoke(target,args); 返回讓***做處理
***:在invoke()中寫我們的**處理過程
我們用***作用就是把對常規的操作,比如,事務開始,提交等,抽象出來,把它單獨處理。
概念:concern 關注點---應用要達到的目標 分集中化和分散化兩種型別
在分散化型別中是針對aspect 橫切面
過濾器實現pointcut介面
其中方法分配器 methodmatcher
isruntime() 是否在執行時型別判斷 也就是我們對過濾方法的規則要求,
如果設定返回true,表示要對過濾方法的引數有要求,這時則呼叫三個引數的方法matches(***,***,***)
如果設定返回為假,表示要對過濾方法的引數沒有有要求,只對過濾方法名字即可,則呼叫兩個引數的方法matches(***,***)
而matches方法也分真假,如果返回真,則對這個方法提供過濾,如果為假,則對這個方法不提供過濾功能
在xml中提供我們寫的過濾器類的配置宣告,還要對容器中提供的bean宣告
namematchemethodpointcutadvisor 在xml中提供方法名字的匹配就可以了。
持久化的事務的處理自己寫的模式:
我們自己寫這些事務的處理,為了理解spring自帶的類的工具是如何實現的。其實spring會自帶這些類實現事務管理工具的
Spring資料輔導(2)
特點 1.預先載入,把物件全部例項化到容器中 2.提供了很多介面 對國際化,事件模型,自動註冊等工具 讓容器對我們的bean物件大小改寫的例子 寫類實現beanpostporcessor介面,有初始化之前和初始化之後兩個方法 是容器提供的介面,對這兩個方法實現我們自己的想法,把容器提供的引數bean...
JDBC資料輔導(2)
一 jdbc原理 二 statement execute sql 當不知道執行的sql語句是什麼型別的時候執行 返回值是boolean executequery sql 執行查詢語句 executeupdate sql 執行更新語句 三 preparedstatement 可以使用引數替代sql語句...
Spring基礎 資料訪問 3
在開源世界裡,有很多orm框架使用,比如hibernate,還有近幾年用的比較多的mybatis,關於這些框架的優點缺點,這裡就不詳細敘述,僅關注如何結合spring和mybatis。1.mybatis屬性配置檔案 2.mybatis dao操作配置檔案 insert into t forum fo...