public inte***ce interceptor
/**
* @intercepts 註解標記這是乙個***,其中可以指定多個@signature
* @signature 指定該***攔截的是四大物件中的哪個方法
* type:***的四大物件的型別
* method:***的方法,方法名
* args:入參的型別,可以是多個,根據方法的引數指定,以此來區分方法的過載
*/@intercepts
( )}
)public class parameterinterceptor implements interceptor
//執行目標方法
return invocation.proceed()
;}@override
public object plugin(object target)
@override
public void setproperties(properties properties)
}
/**
* @configuration:這個註解標註該類是乙個配置類
*/@configuration
public class mybatisconfig;}
}
@test
void contextloads()
//建立executor
public executor newexecutor(transaction transaction, executortype executortype)
else if (executortype.reuse == executortype)
else
if (cacheenabled)
//呼叫pluginall方法,生成**物件
executor = (executor) interceptorchain.pluginall
(executor)
; return executor;
}//建立parameterhandler
//建立resultsethandler
resulthandler resulthandler, boundsql boundsql)
//建立statementhandler
public object pluginall(object target)
//返回
return target;
}
public static object wrap(object target, interceptor interceptor)
return target;
}
@override
public object invoke(object proxy, method method, object args) throws throwable
//沒有被攔截,執行原方法
return method.invoke
(target, args);}
catch (exception e)
}
@intercepts
(
)public class pageinterceptor implements interceptor
跟面試官講Binder(零)
面試的時候,面試官問你說,簡單說一下android的binder機制,你會怎麼回答?我想,我會這麼說。在android啟動的時候,zygote程序孵化出第乙個子程序叫systemserver,而在這個程序中,很多系統提供的服務,比如activitymanagerserivce,powermanage...
講一講IP位址
ip位址組成ip位址分類 為了適應不同的網路,ip位址空間被分為5類,分別是a,b,c,d和e類,其中a,b,c類最常用,d類用於組播,e類用於科研。從上述 中可以看到,每個網路中的主機數都是2 主機位 2,那是因為網路中有一些位址被保留,不能分配給網路使用,有哪些保留位址呢?其實主要有兩類,一類叫...
講一講抽象工廠模式
1.新建產品族介面 我這裡可以理解為生產乙個產品需要兩個步驟 步驟1 public inte ce iproduct1 步驟2 public inte ce iproduct2 2.新建工廠介面 乙個工廠生產乙個產品都需要這兩個步驟 public inte ce ifactory 3.新建各個產品的...