003——Spring动态代理、面向切面AOP编程

1.       引入jar包:

 

2.       在根目录src下创建spring.xml文件




3. 创建接口:

 

package com.sinosoft.manage;

 

public interface UserManage {

  

   public abstract void deleteUser();

  

   public abstract void updateUser();

}

 

4.  实现接口:

 

 

 

5.       声明一个切面:

 

package com.sinosoft.aspect;

 

import org.aspectj.lang.annotation.After;

import org.aspectj.lang.annotation.Aspect;

import org.aspectj.lang.annotation.Before;

import org.aspectj.lang.annotation.Pointcut;

import org.springframework.stereotype.Component;

 

 

@Component

@Aspect

public class TransitonAspect {

 

 

@Pointcut("execution(* com.sinosoft.manage.*.deleteUser(..))")//断言

public void myCutPoint(){

}

 

@Before("myCutPoint()")

public void startTransition(){

           System.out.println("TransitonAspect.startTransition()");

}

 

@After("myCutPoint()")

public void endTransition(){

           System.out.println("TransitonAspect.endTransition()");

}

}

 

6.       测试:

package test;

 

import org.springframework.context.ApplicationContext;

import org.springframework.context.support.ClassPathXmlApplicationContext;

 

import com.sinosoft.manage.UserManage;

 

public class ProxyTest {

public static void main(String[] args) {

           ApplicationContext context = new ClassPathXmlApplicationContext("sp*.xml");

           UserManage userManage = (UserManage) context.getBean("UserManage");

           userManage.deleteUser();

}

}

 

 

posted @ 2015-04-04 23:00  xu_shuyi  阅读(141)  评论(0)    收藏  举报