切點切面@override
public
void
printaccount
(account account)
catch
(exception ex)
可見:afterreturining和after通知都有引數要求。package com.itlearn.aspect;
import com.itlearn.domain.account;
import org.aspectj.lang.proceedingjoinpoint;
import org.aspectj.lang.annotation.*;
//定義此類為乙個切面:內含各種通知
//@aspect
public
class
accountaspect
//@before("printacc()")
public
void
before()
//@after("printacc()")
public
void
after
(account account)
//@afterreturning("printacc()")
public
void
afterreturining
(account account)
//@afterthrowing("printacc()")
public
void
afterthrowing()
public
void
around
(proceedingjoinpoint joinpoint)
catch
(throwable throwable)
system.out.
println
("around after");
}}
xml配置通知
可見:before、after-throwing、around都是使用的切入點,而帶引數的兩個通知則使用的是自己配置的帶參的切點。"accountaspect"
class
="com.itlearn.aspect.accountaspect"
>
bean
>
<
aop:aspectj-autoproxy
proxy-target-class
="true"
/>
<
aop:config
>
<
aop:aspectid=
"accountaspect"
ref="accountaspect"
>
<
aop:pointcutid=
"printacc"
expression
="execution(* com.itlearn.service.iaccountservice.printaccount(..))"
/>
<
aop:before
method
="before"
pointcut-ref
="printacc"
/>
<
aop:after
method
="after"
pointcut
="execution(* com.itlearn.service.iaccountservice.printaccount(..)) and args(account)"
/>
<
aop:after-returning
method
="afterreturining"
pointcut
="execution(* com.itlearn.service.iaccountservice.printaccount(..)) and args(account)"
/>
<
aop:after-throwing
method
="afterthrowing"
pointcut-ref
="printacc"
/>
<
aop:around
method
="around"
pointcut-ref
="printacc"
/>
aop:aspect
>
aop:config
>
執行結果
before...
around before
列印account...
around after
account
afterreturning...
after.
..
注意:<
aop:after
method
="after"
pointcut
="execution(* com.itlearn.service.iaccountservice.printaccount(..)) and args(account)"
/>
and的使用。
args(account)中引數account要和介面引數名一致,否則無法識別。
給執行緒傳遞引數
執行緒操作主要用到thread類,他是定義在system.threading.dll下。使用時需要新增這乙個引用。該類提供給我們四個過載的建構函式 以下引自msdn 我們如果定義不帶引數的執行緒,可以用threadstart 帶乙個引數的用parameterizedthreadstart。帶多個引數...
Mysql給in傳遞引數
情景 select from student where name in 李四 王五 張三 查詢學生表中name欄位是 李四 王五 張三 的資料需求 李四 王五 張三 這些字段需要前端傳過來且數量不確定方法 使用find in set name,第乙個引數是列名,第二個引數是字串型別的,接收傳遞的資...
如何給OPENQUERY傳遞引數
發現sql server裡,直接呼叫鏈結伺服器的函式是不可以的。create function func test userid int returns table asreturn select from 192.168.0.252 user dbo.func getdata userid go ...