spring aop 基于注解配置


spring aop 的作用是
    1 每一个事务逻辑位于一个位置,代码不离散,便于维护与升级。
    2 业务模块更简洁,只包含核心代码。
   完成aop功能的方式还有动态代理,但是动态代理要求较高,所以aop更被广泛使用。  
   其配置包括基于注解方式和xml配置。这里先标记注解。

 
    第一步 编写横切面和关注点,横切面类必须交给spring容器管理,并且标记为横切面。

@Aspect
@Component
public class AspejctBean {

	@Before("execution(public int com.jfn.spring.aop.impl.UserserviceImpl.add(int,int))")
	public void beforceclass(JoinPoint joinpoint){
		// 方法签名和参数
		System.out.println(joinpoint.getSignature()+"---"+Arrays.asList(joinpoint.getArgs()));
		System.out.println("这是开始啊");
	}
}
    这里只写入了 前置,其他还包括 后置通知 环绕通知 异常通知 返回值通知等类型。
    通知里面的 执行方法注解 不做解释。
  



  第二部 配置 上下文文件
  <context:component-scan base-package="com.jfn.spring.aop"></context:component-scan>
	<!-- 使aspectj 起作用,自动为匹配的类生成代理对象 -->
	<aop:aspectj-autoproxy ></aop:aspectj-autoproxy>

你可能感兴趣的:(spring aop)