Spring 学习 -AOP 入门(1)

本文介绍使用Spring AOP实现日志记录的过程。通过一个简单的加法计算类,在执行前后输出日志,展示了如何利用面向切面编程来增强代码并降低业务逻辑的耦合度。

Spring AOP 学习笔记 SpringAOP 面向切面编程, 主要用于日志,抽象统一的操作处理,以AOP的方式存放,利于代码扩展,维护。降低与核心业务逻辑的耦合。 主要概念:切面 , 切点, Spring AOP 实例代码: 基于注解的实例: 该实例写一个简单的计算类 , 在计算的前后输出日志。 必要的AOP JAR包 Spring Jar包 。 计算类接口规范

package com.test.Aop.demo1 
public Interface Add 

{
	public  int add(int a ,int b );
}

计算类的实现

package com.test.Aop.demo1 
public  class AddImpl implements Add 
{
	public  int add(int a ,int b )
	{
	return a+b ; 
	}
}

切面类实现日志功能相当于代理对象

package com.test.Aop.demo1 
@component
@Aspect
public class LoggingAspject 
{	
	@Before("execution(public int com.test.Aop.demo1 .AddImpl .add (int,int))")
	public void beforeMethod(JoinPoint joinpoint ) 
	{
	String methodName  = joinpoint. getSignature().getName();
	List<Object> methodargs = Arrays.asList(joinpoint.getArgs); 
	System.out.println("The  method "+methodName+"begin add  with args "+methodargs);
	}

}

application-spring.xml 配置文件

<!--自动扫描-->
<context:component-scan base-package ="com.test.Aop.demo1"></context:component-scan>
<!-- 自动创建代理对象-->
<aop:aspectj-autoproxy></aop:aspectj-autoproxy>

Main 方法 程序入口

package com.test.Aop.demo1 
public class Main 
{
	public static void main(String [] args )
	{
		ApplicationContext  apcxt  = new ClassPathXmlApplicationContext("application-spring.xml");
		Add addimpl = apcxt.getBean(Add.class);
		int result = addimpl. add(3,5);
		System.out.println(result);
	}
}

转载于:https://my.oschina.net/dou2016/blog/833638

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值