Spring AOP Aspect的简单实现(基于注解)

第1步:声明使用注解

<!-- 配置扫描注解--> 扫描包的位置<context:component-scan base-package="com.zz"/>

<!-- 配置aop 注解生效 --><aop:aspectj-autoproxy></aop:aspectj-autoproxy>

<!--aop配置 切面类名--> 用于申明切面类<aop:config>    <aop:aspect ref="myAspect"></aop:aspect></aop:config>

第2步:使用@service注解声明service和 切面 bean

使用@Component切面类配置 bean   @Aspect 

第3步:声明切面

 使用配置在 xml中的切面类 @Aspect  中声明

第4步:声明前置通知 使用@before 在前置通知上声明

第5步:声明公共切入点 方便其他方法引用

第6步:声明后置通知

第7步:声明环绕通知

第8步:声明异常通知

第9步:声明最终通知

注解总结

@Aspect 
声明切面,修饰切面类,从而获得
通知。

通知

@Before
前置

@AfterReturning
后置

@Around
环绕

@AfterThrowing
抛出异常

@After
最终

切入点

@PointCut
,修饰方法 private void xxx(){}  之后通过“方法名”获得切入点引用

注解总结

@Aspect 
声明切面,修饰切面类,从而获得
通知。

通知

@Before
前置

@AfterReturning
后置

@Around
环绕

@AfterThrowing
抛出异常

@After
最终

切入点

@PointCut
,修饰方法 private void xxx(){}  之后通过“方法名”获得切入点引用

原文地址:https://www.cnblogs.com/orangezhangzz/p/11746189.html

时间: 2024-10-10 11:51:30

Spring AOP Aspect的简单实现(基于注解)的相关文章

Spring声明式事务管理(基于注解方式实现)

----------------------siwuxie095 Spring 声明式事务管理(基于注解方式实现) 以转账为例 1.导入相关 jar 包(共 10 个包) (1)导入核心 jar 包和日志相关的 jar 包 (2)导入 JdbcTemplate 的 jar 包 (3)导入 MySQL 的 JDBC 驱动包 mysql-connector-java 下载链接: https://dev.mysql.com/downloads/connector/j/ (4)导入 AOP 的 jar

SPRING学习(十九)--基于注解的AOP切面编程

上篇中介绍了基于XML配置的AOP切面编程,除了XML配置AOP切面编程外,还可以通过注解方式实现AOP切面编程,本篇通过一个小例子来介绍基于注解的AOP编程. 1.在spring中使用AOP变成,不止要导入spring-aop.jar,还需要导入spring-aspects.jar.aspectjweaver.jar和aopalliance.jar,但是aspectjweaver.jar被spring-aspects.jar依赖,aopalliance.jar被spring-aop.jar依赖

Spring Aop 实现一个简单的memcached小插件

memcached我就不多做介绍了,也就是一个分布式缓存系统!是一个典型的NOSQL. 下面我将用spring aop来实现一个简单的插件,来实现annotation方式,简单方便的取得缓存 一.首先我们得定义一个annotation. <strong>package org.xiezhaodong.spring.annotation; import java.lang.annotation.Documented; import java.lang.annotation.ElementType

spring AOP概述和简单应用

引用概念: http://www.cnblogs.com/hongwz/p/5764917.html AOP AOP(Aspect Oriented Programming),即面向切面编程,可以说是OOP(Object Oriented Programming,面向对象编程)的补充和完善.OOP引入封装.继承.多态等概念来建立一种对象层次结构,用于模拟公共行为的一个集合.不过OOP允许开发者定义纵向的关系,但并不适合定义横向的关系,例如日志功能.日志代码往往横向地散布在所有对象层次中,而与它对

[Spring] AOP, Aspect实例解析

最近要用到切面来统一处理日志记录,写了个小实例练了练手: 具体实现类: public interface PersonServer { public void save(String name); public void update(String name, Integer id); public String getPersonName(Integer id); } import org.springframework.stereotype.Component; @Component("pe

Spring框架第四篇之基于注解的DI注入

一.说明 与@Component注解功能相同,但意义不同的注解还有三个: 1)@Repository:注解在Dao实现类上 2)@Service:注解在Service实现类上 3)@Controller:注解在SpringMVC的处理器上 Bean作用域: @Scope("prototype"):用于指定对象创建模式,可以是单例模式或者原型模式,默认是singleton 基本类型属性注入: @Value @Autowired:byType方式的注解式注入,即根据类型注解 @Qualif

spring in action 第五章基于注解搭建SpringMvc环境

request的生命历程 When the request leaves the browser ?, it carries information about what the user is asking for. At the least, the request will be carrying the requested URL. But it may also carry additional data, such as the information submitted in a

基于注解的Spring AOP的配置和使用--转载

AOP是OOP的延续,是Aspect Oriented Programming的缩写,意思是面向切面编程.可以通过预编译方式和运行期动态代理实现在不修改源代码的情况下给程序动态统一添加功能的一种技术.AOP实际是GoF设计模式的延续,设计模式孜孜不倦追求的是调用者和被调用者之间的解耦,AOP可以说也是这种目标的一种实现. 我们现在做的一些非业务,如:日志.事务.安全等都会写在业务代码中(也即是说,这些非业务类横切于业务类),但这些代码往往是重复,复制--粘贴式的代码会给程序的维护带来不便,AOP

基于注解的Spring AOP的配置和使用

AOP(面向切面编程) 在软件业,AOP为Aspect Oriented Programming的缩写,意为:面向切面编程,通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术.AOP是OOP的延续,是软件开发中的一个热点,也是Spring框架中的一个重要内容,是函数式编程的一种衍生范型.利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率. 主要功能 日志记录,性能统计,安全控制,事务处理,异常处理等等. 主要意