您的位置:首页 > 编程语言 > Java开发

Spring2.0 AOP学习案例笔记

2011-11-02 13:40 411 查看
(1) Aspect.xml

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:aop="http://www.springframework.org/schema/aop"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd"> <bean id="someMethod" class="com.jpo.aspect.SomeMethodImpl"></bean>
<bean id="myAspect" class="com.jpo.aspect.MyAspect"></bean>
<aop:aspectj-autoproxy />
</beans>


(2) Java Bean

SomeMethod.java

public interface SomeMethod {
public void someMethod();
}

SomeMethodImpl.java

public class SomeMethodImpl implements SomeMethod {

public void someMethod() {
System.out.println("Hello Kitty!");
System.out.println(SomeMethod.class);
}

}


MyAspect.java

package com.aspect
import org.aspectj.lang.ProceedingJoinPoint;
import org.aspectj.lang.annotation.Around;
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Pointcut;

@Aspect
public class MyAspect {
@Pointcut("execution(* com.aspect..*.*(..))")
public void myPointCut(){}

@Around("myPointCut()")
public Object aoundMethod(ProceedingJoinPoint joinpoint) throws Throwable
{
System.out.println("method Start!");
Object obj=joinpoint.proceed();
System.out.println("method End!");
return obj;
}
}

Main.java

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class Main {
public static void main(String[] args) throws Throwable {
ApplicationContext ctx=new ClassPathXmlApplicationContext("Aspect.xml");
SomeMethod somemethod=(SomeMethod)ctx.getBean("someMethod");
somemethod.someMethod();
System.out.println(somemethod.getClass().getName());
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: