Spring AOP 创建Advice 基于Annotation

2019-08-16 09:57:06来源:博客园 阅读 ()

新老客户大回馈,云服务器低至5折

Spring AOP 创建Advice 基于Annotation

 

public interface IHello {
  public void  sayHello(String str);
}
public class Hello implements IHello {

	@Override
	public void sayHello(String str) {
		// TODO Auto-generated method stub
	   System.out.println("你好"+str);
	}

}

  

aspectBean.java

import org.aspectj.lang.annotation.After;
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Before;
import org.aspectj.lang.annotation.Pointcut;

//引入Aspect注解,声明切面
@Aspect
public class aspectBean {
	//定义为切入点
	@Pointcut("execution(* hello.*(..))")
	public void log() {
		
	}
	@Before(value="log()") //在切入点之前执行
	public void startLog()
	{
		System.out.println("开始记录");
	}
	@After(value="log()") //在切入点之后执行
	public void endLog()
	{
		System.out.println("结束记录");
	}
}

  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:aop="http://www.springframework.org/schema/aop"
	xmlns:p="http://www.springframework.org/schema/p"
	xsi:schemaLocation="http://www.springframework.org/schema/beans 
	http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
	http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.0.xsd">
	
	<!-- 启动aspectj -->
	<aop:aspectj-autoproxy/>
	<bean id="apbean" class="com.pb.aspectBean"></bean>
	<bean id="he" class="com.pb.Hello"></bean>
</beans>

  Maintest文件:

public static void main(String[] args) {
		// TODO Auto-generated method stub
        ApplicationContext context=new ClassPathXmlApplicationContext("applicationContext.xml");
        
        IHello hello=(IHello)context.getBean("he");
        hello.sayHello("访客");
	}

  执行:

 


原文链接:https://www.cnblogs.com/schangxiang/p/11149067.html
如有疑问请与原作者联系

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:统计思想:Count++For循环

下一篇:SpringBoot2.0 整合 Dubbo框架 ,实现RPC服务远程调用