<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    胖熊熊

    得到多少又失去了什么

    spring 學習(1.3) 入門基礎- AOP 實例

     aop 例子學習,轉自javaeye

    首先建一個普通Java項目:com.longthsoft.learn.spring

    spring.jar, commons-logging.jar, cglib-nodep-...jar, aspectjweaver.jar, aspectjrt.jar 放到 Build Path 下.

    以止 lib 除了 spring 外, 其他的都可以在 spring 下載包的 lib 中找到

    下面編碼開始:

    讓我們先寫兩個簡單的類:

    代碼

    1 package om.longthsoft.learn.spring.models;   
    2       
    3 public class A {   
    4     public void sayHello() {   
    5             System.out.println("Hello, I'm a");   
    6         }   
    7     }  
    8 

    1 package com.longthsoft.learn.spring.models;   
    2 public class B {   
    3         public void sayHi() {   
    4             System.out.println("Hi, I'm b");   
    5         }   
    6     }   
    7 


    沒什么實際的東西, 只是小A和小B在打招呼

    接下來把他們交給Spring吧(有點殘忍)。

    代碼

     1 <?xml version="1.0" encoding="UTF-8"?>  
     2 <beans xmlns="http://www.springframework.org/schema/beans"  
     3  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
     4         xmlns:aop="http://www.springframework.org/schema/aop"  
     5         xsi:schemaLocation="   
     6             http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd   
     7             http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.0.xsd">  
     8            
     9 <bean id="a" class="com.longthsoft.learn.spring.models.A" />  
    10 <bean id="b" class="com.longthsoft.learn.spring.models.B" />  
    11 </beans>  
    12 

    接下來寫個Boot

    代碼

     1     package com.longthsoft.learn.spring;   
     2       
     3     import org.springframework.context.ApplicationContext;   
     4     import org.springframework.context.support.ClassPathXmlApplicationContext;   
     5       
     6     import com.longthsoft.learn.spring.models.A;   
     7     import com.longthsoft.learn.spring.models.B;   
     8       
     9     public final class Boot {   
    10       
    11         public static void main(String[] args) {   
    12             ApplicationContext ctx = new ClassPathXmlApplicationContext("applicationContext.xml");   
    13             A a = (A) ctx.getBean("a");   
    14             a.sayHello();   
    15                
    16             B b = (B) ctx.getBean("b");   
    17             b.sayHi();   
    18         }   
    19       
    20     }  
    21 

    嘿, 這里的運行結果不帖了, 大家腦子里閃過即可。

    圣誕到了, 小A小B 介紹完自己之后,也應該說句 "Merry Christmas"

    Spring 說, 既然你們交給我, 這等 routine 就不用再麻煩了, 直接一并處理掉。

    于是:

    代碼

     1     package com.longthsoft.learn.spring;   
     2       
     3     import org.aspectj.lang.annotation.AfterReturning;   
     4     import org.aspectj.lang.annotation.Aspect;   
     5     import org.aspectj.lang.annotation.Pointcut;   
     6       
     7     @Aspect  
     8     public class SimpleAspect {   
     9       
    10         @Pointcut("execution(* com.longthsoft.learn.spring.models.*.say*())")   
    11         public void simplePointcut() { }   
    12            
    13         @AfterReturning(pointcut="simplePointcut()")   
    14         public void simpleAdvice() {   
    15             System.out.println("Merry Christmas");   
    16         }   
    17     }   
    18 

    然后修改一下配置文件

    代碼

     1     <?xml version="1.0" encoding="UTF-8"?>  
     2     <beans xmlns="http://www.springframework.org/schema/beans"  
     3         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
     4         xmlns:aop="http://www.springframework.org/schema/aop"  
     5         xsi:schemaLocation="   
     6             http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd   
     7             http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.0.xsd">  
     8            
     9         <aop:aspectj-autoproxy />  
    10            
    11         <bean id="a" class="com.longthsoft.learn.spring.models.A" />  
    12         <bean id="b" class="com.longthsoft.learn.spring.models.B" />  
    13            
    14         <bean id="simpleAspect" class="com.longthsoft.learn.spring.SimpleAspect" />  
    15     </beans>  
    16 

    OK, 運行一下:

    Hello, I'm a
    Merry Christmas
    Hi, I'm b
    Merry Christmas

    posted on 2007-05-17 10:42 fatbear 閱讀(2321) 評論(1)  編輯  收藏 所屬分類: spring

    評論

    # re: spring 學習(1.3) 入門基礎- AOP 實例 2008-06-13 01:11 anna

    沒有提供applicationContext.xml的代碼  回復  更多評論   

    主站蜘蛛池模板: 国产又黄又爽又刺激的免费网址 | 亚洲色成人网一二三区| jizz免费一区二区三区| 亚洲黄片毛片在线观看| 黄色网址在线免费观看| 免费国产美女爽到喷出水来视频| 美国毛片亚洲社区在线观看| 日本午夜免费福利视频| 亚洲国产精品成人AV在线| 四虎永久成人免费影院域名| 最好2018中文免费视频| 国产亚洲精品拍拍拍拍拍| 波多野结衣免费一区视频| 亚洲国产综合精品中文第一区| 在线观看的免费网站无遮挡| 亚洲人成777在线播放| 午夜视频免费观看| 一级做a爰片性色毛片免费网站 | 亚洲色图在线观看| 在线天堂免费观看.WWW| 亚洲youwu永久无码精品| 亚洲成年人啊啊aa在线观看| 中文字幕在线观看免费| 亚洲精品午夜视频| 精品剧情v国产在免费线观看 | 成人免费777777| 亚州**色毛片免费观看| 亚洲成色在线综合网站| 在线观看免费高清视频| 人人公开免费超级碰碰碰视频 | 免费观看日本污污ww网站一区| 人人爽人人爽人人片A免费 | 内射少妇36P亚洲区| 日韩特黄特色大片免费视频| 中文字幕在线免费播放| 亚洲av永久无码嘿嘿嘿| 亚洲国模精品一区| 青娱乐免费在线视频| 国产V片在线播放免费无码| 亚洲精品亚洲人成在线麻豆| 四虎影视精品永久免费网站|