Sring AOP(简记)

什么是AOP

  AOP(Aspect-OrientedProgramming,面向方面编程),可以说是OOP(Object-Oriented Programing,面向对象编程)的补充和完善。OOP允许你定义从上到下的关系,但并不适合定义从左到右的关系。

  实现AOP的技术,主要分为两大类:一是采用动态代理技术,利用截取消息的方式,对该消息进行装饰,以取代原有对象行为的执行;二是采用静态织入的方式,引入特定的语法创建“方面”,从而使得编译器可以在编译期间织入有关“方面”的代码。

使用场景

  Authentication 权限

  Caching 缓存

  Context passing 内容传递

  Error handling 错误处理

  Lazy loading 懒加载

  Debugging  调试

  logging, tracing, profiling and monitoring 记录跟踪 优化 校准

  Performance optimization 性能优化

  Persistence  持久化

  Resource pooling 资源池

  Synchronization 同步

  Transactions 事务

配置AOP(demo)

<bean id="transactionManager"
class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource1" />
</bean>

<tx:advice id="tx-advice" transaction-manager="transactionManager">
<tx:attributes>
<tx:method name="*" propagation="REQUIRED" rollback-for="java.lang.Exception" />
</tx:attributes>
</tx:advice>

 

<aop:config>
<aop:pointcut expression="execution(public * com.lizhiji.service.*.*(..))"
id="pointcut" />
<aop:advisor advice-ref="tx-advice" pointcut-ref="pointcut" />
</aop:config>

AOP代理对象生成

在Spring中,AOP代理可以是JDK动态代理或者CGLIB代理。

 

转载于:https://www.cnblogs.com/fort-lizhiji/p/7726293.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/268203.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

docker 什么是虚悬镜像

什么是虚悬镜像 仓库名、标签都是 none的镜像就是虚悬镜像(dangling image) 这种镜像需要删除&#xff0c;根据镜像ID删除该虚悬镜像 docker rmi -f [IMAGE ID]

2010年06月12日

为什么80%的码农都做不了架构师&#xff1f;>>> 今天装了个rhel 5.5,想制定光盘做yum源&#xff0c;网上找了个资料&#xff1a; rhel 5.x 将YUM指定为光盘--yum配置格式示例 后经过自己测试发现&#xff0c;只需要&#xff1a; 1. mount -o loop rhel-5-server-dv…

2017.10.25

日期计算 时间限制&#xff1a;3000 ms | 内存限制&#xff1a;65535 KB难度&#xff1a;1描述如题&#xff0c;输入一个日期&#xff0c;格式如&#xff1a;2010 10 24 &#xff0c;判断这一天是这一年中的第几天。输入第一行输入一个数N&#xff08;0<N<100&#xff…

如何现实CITRIX XenAPP内容重定向

在使用CITRIX XenAPP为用户交付各大应用时&#xff0c;我们会让到一个问题&#xff0c;比如说&#xff0c;我采用XENAPP交付给用户了MS-OFFICE WORD应用&#xff0c;而此用户在他本机并未安装任何的OFFICE 版本&#xff0c;那么&#xff0c;当用户在打开*.doc/*.docx文件时&…

JAVA-初步认识-第八章-继承-单继承和多重继承

一. 说完了继承的基本概述之后&#xff0c;了解一下在java中它的体现方式。 大家都知道java来自于c&#xff0c;c有多继承&#xff0c;java对其中的多继承进行了改良。为什么不直接支持多继承呢&#xff1f;要牢记&#xff0c;这个原因在后面可以解决很多问题。 二. 观看下面的…

docker重启容器

docker restart 容器id

让你的Silverlight程序部署在任意服务器上

今天在CSDN上逛&#xff0c;看到一篇不错的教程贴&#xff0c;“让你的SilverLight程序部署在任意服务器上”&#xff0c;转到园子里&#xff0c;希望更多朋友受益。 即使是免费的只支持HTML的空间&#xff0c;同样可以部署SilverLight应用。众所周知&#xff0c;SilverLight的…

VS2010小Bug:找不到System.Web.Extensions.dll引用

用上VS 2010的日子&#xff0c;快乐并痛着... 今天本来是想写这篇随笔的&#xff0c;却在处理朝阳无限提交的新模板的CSS时&#xff0c;一打开CSS文件&#xff0c;VS2010就崩溃&#xff0c;于是发现了VS2010的另一个Bug。 这个VS2010的Bug是在将博客园博问的代码从VS2008升级至…

TCP 之 RST 原因分析

5. 往一个对端已经关闭的套接字上写入数据会收到一个RST信号 1.发送端的 发送缓冲区还有数据&#xff0c;但接收端tcp的接收通道已关闭 2. SYN到达某端口但此端口上没有正在监听的服务器。对于UDP,当一个数据报到达目的端口时,该端口没在使用,它将产生一个ICMP端口不可达的信息…

《Windows核心编程》---剪贴板

剪贴板是由系统定义的&#xff0c;并不属于任何一个特定的进程。系统中所有进程都可以访问和设置剪贴板。剪贴板最大的特点就是数据传输没有明确的目标&#xff0c;数据是被动访问的&#xff1b;剪贴板的内容可以被多次访问&#xff0c;直到新的数据写入。剪贴板是一种可供选择…

docker后台守护式启动

docker后台启动 docker run -d 镜像名

浏览器打不开网页,但是还可以聊qq?

电脑网络明明已经连接&#xff0c;但是就是打不开网页&#xff1f;下面介绍下解决方法。 原因&#xff1a;DNS解析导致网页打不开。路由器没有获取到DNS 我们的系统会缓存我们平时用到的一些DNS地址&#xff0c;这个功能主要是加速我们对网络的访问。但是有时候这些缓存的DNS地…

项目重构方案设计

最近接手到一个已经成型的项目&#xff0c;然后我们的任务就是对它进行重构&#xff0c;这个项目是一个功能很齐全的WPF视频播放器&#xff08;附带很多其他功能&#xff09;&#xff0c;在仔细 研究了项目的背景和架构以后&#xff0c;初步做出了一下的重构方案&#xff1a; 目…

docker top查看容器中运行的进程信息

docker top :查看容器中运行的进程信息&#xff0c;支持 ps 命令参数。 语法 docker top [OPTIONS] CONTAINER [ps OPTIONS] 容器运行时不一定有/bin/bash终端来交互执行top命令&#xff0c;而且容器还不一定有top命令&#xff0c;可以使用docker top来实现查看container中正…

易经给我们的64个人生智慧

《易经》没有那么神秘&#xff0c;它是科学的&#xff0c;它就在我们的身边&#xff0c;我们每天的生活起居&#xff0c;工作事业&#xff0c;健康幸福&#xff0c;都受这64个哲理的左右。我们以科学的态度对待这64个哲理&#xff0c;就形成了64个感悟&#xff0c;64个感悟回答…

华为2018软件岗笔试题解题思路和源代码分享

2017年9月26日&#xff0c;参加了华为技术有限公司的笔试&#xff0c;题目类型是软件题&#xff0c;没有选择填空问答类型&#xff0c;总共是3道编程题目&#xff0c;题目难度适中&#xff0c;在两个小时内完成3道题目的AC&#xff0c;所以分享的代码都是可运行且完全AC的! 和广…

docker镜像加载原理

docker镜像加载原理

设计模式是用来弥补面向对象编程缺陷的方法总结

面向对象和设计模式都是大家耳熟能详的概念。面向对象是以对象为基本元素&#xff0c;对数据与逻辑行为进行封装。实现面向对象过程的方法是使用抽象&#xff0c;同时在使用抽象进行分析设计的时候就产生了类型&#xff0c;并隔离了抽象与实现。这个过程是有很多的优点的&#…