aop和oop區(qū)別

1、oop是java在面向?qū)ο缶幊?br>

aop是面向切面編程,AOP主要應(yīng)用于日志記錄陆馁,性能統(tǒng)計(jì)找颓,安全控制,事務(wù)處理等方面,它是為程序員解耦而生.

Spring五種類型的通知

1、前置通知[Before advice]:在連接點(diǎn)前面執(zhí)行叮贩,前置通知不會(huì)影響連接點(diǎn)的執(zhí)行击狮,除非此處拋出異常。

3益老、正常返回通知[After returning advice]:在連接點(diǎn)正常執(zhí)行完成后執(zhí)行彪蓬,如果連接點(diǎn)拋出異常,則不會(huì)執(zhí)行杨箭。

3寞焙、異常返回通知[After throwing advice]:在連接點(diǎn)拋出異常后執(zhí)行。

4互婿、返回通知[After (finally) advice]:在連接點(diǎn)執(zhí)行完成后執(zhí)行,不管是正常執(zhí)行完成辽狈,還是拋出異常慈参,都會(huì)執(zhí)行返回通知中的內(nèi)容。

5刮萌、環(huán)繞通知[Around advice]:環(huán)繞通知圍繞在連接點(diǎn)前后驮配,比如一個(gè)方法調(diào)用的前后。這是最強(qiáng)大的通知類型着茸,能在方法調(diào)用前后自定義一些操作壮锻。環(huán)繞通知還需要負(fù)責(zé)決定是繼續(xù)處理join point(調(diào)用ProceedingJoinPoint的proceed方法)還是中斷執(zhí)行。

aop全注解開發(fā)

注解名 說明

@Controller 注解控制層組件涮阔,(如struts中的action)

@Service 注解業(yè)務(wù)層組件,service層組件

(@Service("service")
public class StudentServiceImpl implements StudentService {)

@Repository 注解數(shù)據(jù)訪問層組件猜绣,DAO層組件

(@Repository("dao")
public class StudentDaoImpl implements StudentDao {)

@Component 泛指組件,當(dāng)組件不好歸類的時(shí)候敬特,我們可以使用這個(gè)注解進(jìn)行標(biāo)注

@Autowired 默認(rèn)是按照類型裝配注入

@Resource 默認(rèn)是按照名稱來裝配注入

(@Resource //或@Autowired

private StudentDaoImpl db;)

@Scope 注解用于指定scope作用域的(用在類上)

@Transactional 添加事務(wù)

service下面

注解配置AOP

1)使用注解@Aspect來定義一個(gè)切面掰邢,在切面中定義切入點(diǎn)(@Pointcut),通知類型(@Before牺陶、 @After 、@AfterReturning 辣之、@AfterThrowing 掰伸、@Around )

2)開發(fā)需要被攔截的類

http://blog.csdn.net/sunlihuo/article/details/52701548

@Aspect

@Component("aop")// 泛指組件當(dāng)組件不好歸類的時(shí)候,我們可以使用這個(gè)注解進(jìn)行標(biāo)注(可以不寫名字@Component)

public class AspInterceptor {

@Before("execution(* com.hw.service..*.add*(com.hw.entity.Student))")

public void before() {/*前置通知*/System.out.println("before....使用本程序先交9美金!!!");}

@After("execution(* com.hw.service.impl.*.add*(String))")

public void after() {/*正常返回通知*/System.out.println("after....程序使用正常9美金很值!!!");}

@AfterThrowing("execution(* com.hw.service.impl.*.*(..))")

public void afterthrowing() {/*異常返回通知*/System.out.println("throwing....程序使用有異常9美金上當(dāng)了!!!");}

@AfterReturning("execution(* com.hw.service.impl.*.add*(..))")

public void afterfinally() {/*返回最終通知*/System.out.println("afterfinally....別想著程序了怀估,9美金已交了!!!");}

@Around("execution(* com.hw.service.impl.*.update*(..))")

public void around(ProceedingJoinPoint pj) throws Throwable {// 環(huán)繞通知

System.out.println("環(huán)繞通知,要工作了");

pj.proceed();

System.out.println("環(huán)繞通知,要發(fā)工資了");

/*環(huán)繞通知:能在方法調(diào)用前后自定義一些操作狮鸭。環(huán)繞通知還需要負(fù) 責(zé)決定是繼續(xù)處理joinpoint(調(diào)用ProceedingJoinPoint的proceed方法)還是中斷執(zhí)行*/}}

3)將切面配置到xml中,也可以使用自動(dòng)掃描bean方式

service dao:<context:component-scan base-package="com.hw" />

aspect :<aop:aspectj-autoproxy proxy-target-class="true"/>(面向切面自動(dòng)代理)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末多搀,一起剝皮案震驚了整個(gè)濱河市怕篷,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌酗昼,老刑警劉巖廊谓,帶你破解...
    沈念sama閱讀 212,383評(píng)論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異麻削,居然都是意外死亡蒸痹,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,522評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門呛哟,熙熙樓的掌柜王于貴愁眉苦臉地迎上來叠荠,“玉大人,你說我怎么就攤上這事扫责¢欢Γ” “怎么了?”我有些...
    開封第一講書人閱讀 157,852評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵鳖孤,是天一觀的道長(zhǎng)者娱。 經(jīng)常有香客問我,道長(zhǎng)苏揣,這世上最難降的妖魔是什么黄鳍? 我笑而不...
    開封第一講書人閱讀 56,621評(píng)論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮平匈,結(jié)果婚禮上框沟,老公的妹妹穿的比我還像新娘。我一直安慰自己增炭,他們只是感情好忍燥,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,741評(píng)論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著隙姿,像睡著了一般梅垄。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上孟辑,一...
    開封第一講書人閱讀 49,929評(píng)論 1 290
  • 那天哎甲,我揣著相機(jī)與錄音蔫敲,去河邊找鬼。 笑死炭玫,一個(gè)胖子當(dāng)著我的面吹牛奈嘿,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播吞加,決...
    沈念sama閱讀 39,076評(píng)論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼裙犹,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了衔憨?” 一聲冷哼從身側(cè)響起叶圃,我...
    開封第一講書人閱讀 37,803評(píng)論 0 268
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎践图,沒想到半個(gè)月后掺冠,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,265評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡码党,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,582評(píng)論 2 327
  • 正文 我和宋清朗相戀三年德崭,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片揖盘。...
    茶點(diǎn)故事閱讀 38,716評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡眉厨,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出兽狭,到底是詐尸還是另有隱情憾股,我是刑警寧澤,帶...
    沈念sama閱讀 34,395評(píng)論 4 333
  • 正文 年R本政府宣布箕慧,位于F島的核電站服球,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏销钝。R本人自食惡果不足惜有咨,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,039評(píng)論 3 316
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望蒸健。 院中可真熱鬧,春花似錦婉商、人聲如沸似忧。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,798評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽盯捌。三九已至,卻和暖如春蘑秽,著一層夾襖步出監(jiān)牢的瞬間饺著,已是汗流浹背箫攀。 一陣腳步聲響...
    開封第一講書人閱讀 32,027評(píng)論 1 266
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留幼衰,地道東北人靴跛。 一個(gè)月前我還...
    沈念sama閱讀 46,488評(píng)論 2 361
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像渡嚣,于是被迫代替她去往敵國(guó)和親梢睛。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,612評(píng)論 2 350

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理识椰,服務(wù)發(fā)現(xiàn)绝葡,斷路器,智...
    卡卡羅2017閱讀 134,637評(píng)論 18 139
  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語法腹鹉,類相關(guān)的語法藏畅,內(nèi)部類的語法,繼承相關(guān)的語法功咒,異常的語法愉阎,線程的語...
    子非魚_t_閱讀 31,599評(píng)論 18 399
  • Spring 復(fù)習(xí) [toc] spring介紹 三層架構(gòu)中spring位置,連接三層航瞭。 spring一站式框架正...
    inke閱讀 748評(píng)論 0 11
  • 0.前言 本文主要想闡述的問題如下:什么動(dòng)態(tài)代理(AOP)以及如何用JDK的Proxy和InvocationHan...
    SYFHEHE閱讀 2,264評(píng)論 1 7
  • 我叫刁相遇诫硕,生在洛陽,長(zhǎng)在長(zhǎng)安刊侯,關(guān)于我的出生章办,是一場(chǎng)烏龍,我爹據(jù)說姓段滨彻,多金又英俊藕届,在認(rèn)識(shí)我娘之前,他已經(jīng)結(jié)識(shí)過很...
    黏在臉上的眼鏡閱讀 369評(píng)論 4 9