Spring04

使用注解的方式進(jìn)行代理

步驟1:在com.hello.dao包下新建一個CarDao接口以及他的實(shí)現(xiàn)類CarDaoImpl圃庭,具體代碼如下:

CarDao接口:

package com.hello.dao;

public interface CarDao {

????public void play();

}

CarDaoImpl實(shí)現(xiàn)類:

package com.hello.dao;

@Component("CarDao")? ???//注解

public class CarDaoImpl implements CarDao {

????????@Override

????????public void play() {

????????????????System.out.print("我能跑120km/h");

????????}

}

步驟2:新建一個com.hello.plus包并在包下新建一個名為CarPlus的類

package com.hello.plus;

import org.aspectj.lang.annotation.After;

import org.aspectj.lang.annotation.Aspect;

@Aspect? ? //注解

public class CarPlus {

@After(value="execution(* *..*.*Impl.play(..))")????????//注解

public void carplus(){

System.out.println("我能飛上天");

}

}

這上面兩個地方使用了注解

步驟3:在src下新建一個xml文件applicationContext.xml

<?xml version="1.0" encoding="UTF-8"?>

<beans xmlns="http://www.springframework.org/schema/beans"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xmlns:context="http://www.springframework.org/schema/context"

xmlns:aop="http://www.springframework.org/schema/aop"

xsi:schemaLocation="http://www.springframework.org/schema/beans

? ? ? ? http://www.springframework.org/schema/beans/spring-beans.xsd

? ? ? ? http://www.springframework.org/schema/context

? ? ? ? http://www.springframework.org/schema/context/spring-context.xsd

? ? ? ? http://www.springframework.org/schema/aop

? ? ? ? http://www.springframework.org/schema/aop/spring-aop.xsd">

<!-- 加載自動代理 -->

<aop:aspectj-autoproxy/>

<!-- 注解掃描 -->

<context:component-scan base-package="com.hello"/>

<!-- 將 MyPlus 類交給 Spring 管理 -->

<bean id="CarPlus" class="com.hello.plus.CarPlus"></bean>

<!-- 切面 = 切入點(diǎn) + 通知

表達(dá)式優(yōu)化:

1)省略 public

2)返回值荷逞,不能省略,但可以使用 * 占位

3)如果中間的路徑太多的話餐蔬,則可以使用 *..*

4)如果有多個 類/方法 的 前/后綴 是相同的話,也可以使用 前/后綴 作為過濾條件

5)如果方法中有0 - 多個參數(shù)(不確定個數(shù)的參數(shù))灯帮,則可以直接使用兩個點(diǎn)表示

-->

<!-- <aop:config>

<aop:aspect ref="carPlus">

<aop:after method="carplus" pointcut="execution(* *..*.*Impl.play(..))"/>

</aop:aspect>

</aop:config> -->

</beans>

步驟4:接下來就是測試了爆土,新建一個測試類TestClass

package com.hello.test;

import org.junit.Test;

import org.junit.runner.RunWith;

import org.springframework.beans.factory.annotation.Autowired;

import org.springframework.test.context.ContextConfiguration;

import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;

import com.hello.dao.CarDao;

//執(zhí)行xml文件

@ContextConfiguration("classpath:applicationContext.xml")

@RunWith(SpringJUnit4ClassRunner.class)

public class TestClass {

@Autowired

private CarDao cd;

@Test

public void test(){

????cd.play();

}

}

執(zhí)行applicationContext.xml之后就能通過注解的方式進(jìn)行代理加強(qiáng)了

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末蚁吝,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子垦缅,更是在濱河造成了極大的恐慌冲泥,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,997評論 6 502
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件壁涎,死亡現(xiàn)場離奇詭異凡恍,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)怔球,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,603評論 3 392
  • 文/潘曉璐 我一進(jìn)店門嚼酝,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人竟坛,你說我怎么就攤上這事闽巩。” “怎么了担汤?”我有些...
    開封第一講書人閱讀 163,359評論 0 353
  • 文/不壞的土叔 我叫張陵涎跨,是天一觀的道長。 經(jīng)常有香客問我崭歧,道長隅很,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,309評論 1 292
  • 正文 為了忘掉前任率碾,我火速辦了婚禮叔营,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘所宰。我一直安慰自己绒尊,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,346評論 6 390
  • 文/花漫 我一把揭開白布仔粥。 她就那樣靜靜地躺著垒酬,像睡著了一般。 火紅的嫁衣襯著肌膚如雪件炉。 梳的紋絲不亂的頭發(fā)上勘究,一...
    開封第一講書人閱讀 51,258評論 1 300
  • 那天,我揣著相機(jī)與錄音斟冕,去河邊找鬼口糕。 笑死,一個胖子當(dāng)著我的面吹牛磕蛇,可吹牛的內(nèi)容都是我干的景描。 我是一名探鬼主播十办,決...
    沈念sama閱讀 40,122評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼超棺!你這毒婦竟也來了向族?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,970評論 0 275
  • 序言:老撾萬榮一對情侶失蹤棠绘,失蹤者是張志新(化名)和其女友劉穎件相,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體氧苍,經(jīng)...
    沈念sama閱讀 45,403評論 1 313
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡夜矗,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,596評論 3 334
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了让虐。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片紊撕。...
    茶點(diǎn)故事閱讀 39,769評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖赡突,靈堂內(nèi)的尸體忽然破棺而出对扶,到底是詐尸還是另有隱情,我是刑警寧澤惭缰,帶...
    沈念sama閱讀 35,464評論 5 344
  • 正文 年R本政府宣布浪南,位于F島的核電站,受9級特大地震影響从媚,放射性物質(zhì)發(fā)生泄漏逞泄。R本人自食惡果不足惜患整,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,075評論 3 327
  • 文/蒙蒙 一拜效、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧各谚,春花似錦紧憾、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,705評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至膀息,卻和暖如春般眉,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背潜支。 一陣腳步聲響...
    開封第一講書人閱讀 32,848評論 1 269
  • 我被黑心中介騙來泰國打工甸赃, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人冗酿。 一個月前我還...
    沈念sama閱讀 47,831評論 2 370
  • 正文 我出身青樓埠对,卻偏偏與公主長得像络断,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子项玛,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,678評論 2 354

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

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理貌笨,服務(wù)發(fā)現(xiàn),斷路器襟沮,智...
    卡卡羅2017閱讀 134,654評論 18 139
  • 通過之前的兩篇我們能在本地搭建單一和集群兩種方式的dubbo服務(wù)锥惋,這篇我們來看 springmvc+spring+...
    安琪拉_4b7e閱讀 2,161評論 0 6
  • ?著作權(quán)歸作者所有:來自51CTO博客作者優(yōu)秀android的原創(chuàng)作品,如需轉(zhuǎn)載臣嚣,請注明出處净刮,否則將追究法律責(zé)任 ...
    傳奇內(nèi)服號閱讀 1,072評論 0 9
  • 對于java中的思考的方向,1必須要看前端的頁面硅则,對于前端的頁面基本的邏輯淹父,如果能理解最好,不理解也要知道幾點(diǎn)怎虫。 ...
    神尤魯?shù)婪?/span>閱讀 813評論 0 0
  • *Html參考手冊 一暑认、HTML中的一些標(biāo)簽 1、select:中的每一項(xiàng)用option表示大审。如果size屬性設(shè)置...
    liujf閱讀 369評論 0 9