- 浏览: 16292 次
- 性别:
- 来自: 南宁
文章分类
最新评论
<!-- datasourceone 数据库事务管理切点
包含的方法:service包(或子包)下所有名字以 'Service' 结尾的类内所有的方法。
不包含的方法:x.y.service包下PublishService类的getResCategory(..)方法,
getEditorResList(..)方法,updateResbackrmd(..)方法
-->
<aop:pointcut id="txPointcut-datasourceone"
expression="execution(* x.y.service..*Service.*(..))
and !execution(* x.y.service.PublishService.getResCategory(..))
and !execution(* x.y.service.PublishService.getEditorResList(..))
and !execution(* x.y.service.PublishService.updateResbackrmd(..))"/>
1,pointcut既可以定义在一个接口上面(表示实现该接口的类方法将被拦截),同时也可以定义在一个类上面(无接口的情
况,需要强制使用cglib)。在接口上面定义pointcut时无需关心接口实现类的具体位置,只需要定义被拦截的接口及方
法位置。
2,常见的情况:
x.y.service..*Service.*(..)
x.y.service —— 包“x.y.service”
x.y.service.. —— 包“x.y.service”及其子包例如:“x.y.service.abc”,“x.y.service.def”,“x.y.service.ghi”,“x.y.service.jkl”。。。
*Service —— 定义接口(或没有实现接口的类,需要使用cglib代理)表达式;所有以Service结尾的类或接口,注意不是所有以Service结尾的包名。
*(..) —— 定义方法名,方法参数表达式;任意方法的名称,任意方法参数。
com.xyz.service.*.*(..)
com.xyz.service —— 包“com.xyz.service”
*.*(..) —— 任意接口(或没有实现接口的类,需要使用cglib代理),任意方法,任意参数
在service包下定义的任意方法的执行。
com.xyz.service..*.*(..)
com.xyz.service —— 包“com.xyz.service”
com.xyz.service.. ——包“com.xyz.service”及其子包
*.*(..) —— 任意接口(或没有实现接口的类,需要使用cglib代理),任意方法,任意参数
包含的方法:service包(或子包)下所有名字以 'Service' 结尾的类内所有的方法。
不包含的方法:x.y.service包下PublishService类的getResCategory(..)方法,
getEditorResList(..)方法,updateResbackrmd(..)方法
-->
<aop:pointcut id="txPointcut-datasourceone"
expression="execution(* x.y.service..*Service.*(..))
and !execution(* x.y.service.PublishService.getResCategory(..))
and !execution(* x.y.service.PublishService.getEditorResList(..))
and !execution(* x.y.service.PublishService.updateResbackrmd(..))"/>
1,pointcut既可以定义在一个接口上面(表示实现该接口的类方法将被拦截),同时也可以定义在一个类上面(无接口的情
况,需要强制使用cglib)。在接口上面定义pointcut时无需关心接口实现类的具体位置,只需要定义被拦截的接口及方
法位置。
2,常见的情况:
x.y.service..*Service.*(..)
x.y.service —— 包“x.y.service”
x.y.service.. —— 包“x.y.service”及其子包例如:“x.y.service.abc”,“x.y.service.def”,“x.y.service.ghi”,“x.y.service.jkl”。。。
*Service —— 定义接口(或没有实现接口的类,需要使用cglib代理)表达式;所有以Service结尾的类或接口,注意不是所有以Service结尾的包名。
*(..) —— 定义方法名,方法参数表达式;任意方法的名称,任意方法参数。
com.xyz.service.*.*(..)
com.xyz.service —— 包“com.xyz.service”
*.*(..) —— 任意接口(或没有实现接口的类,需要使用cglib代理),任意方法,任意参数
在service包下定义的任意方法的执行。
com.xyz.service..*.*(..)
com.xyz.service —— 包“com.xyz.service”
com.xyz.service.. ——包“com.xyz.service”及其子包
*.*(..) —— 任意接口(或没有实现接口的类,需要使用cglib代理),任意方法,任意参数
发表评论
-
spring mvc 整合activiti 5.21
2017-11-27 10:58 0spring mvc 整合activiti 5.21 ... -
Maven 环境搭建
2017-11-03 15:54 475http://www.cnblogs.com/quanyong ... -
js url 传递中文参数,后台获取出现乱码
2017-10-23 08:58 0js url 传递中文参数,后台获取出现乱码,可以通过在后台这 ... -
session 和cookier的理解
2015-05-11 13:37 0session<会话需要> 和cookier< ... -
redis 在linux下的安装使用步骤
2015-05-05 09:44 01.网上下载redis-2.8.10.tar.gz文件 2.进 ... -
WSDL2JAVA 生成Stub文件以及调用
2015-04-15 15:58 0Step 1: 设置AXIS的环境变量 AXIS2_HOME ... -
webService 的使用方式之RPC方式、stub方式
2015-04-15 14:28 0/** * 创建日期 2015年4月14日 */ pack ... -
java多线程例子三种形式之一(最常用的,继承Thread的方式)——没有返回值、不可抛异常
2015-03-26 15:30 0/** * 功能说明:多线程例子测试, 实现继承Thread ... -
java多线程例子三种形式之一(最常用的,实现runable的方式)--没有返回值,不可抛异常
2015-03-26 15:25 0/** * 功能说明:多线程例子测试, 实现runnable ... -
性能测试调优
2015-03-12 13:49 0性能调优是一个宏大的工程,需要从宏观架构(比如拆分,冗余,读写 ... -
性能测试调优
2015-03-12 13:48 0性能调优是一个宏大的工程,需要从宏观架构(比如拆分,冗余,读写 ... -
2014.4.22(广州悦信无线科技有限公司)
2014-04-22 22:46 0笔试: 1.java基本数据类型,是什么?String是不是基 ... -
2014.4.21(地球村计算机软件)
2014-04-21 16:05 0初试: 1.填写个人履历表 2.数据挖掘方面的是否做过(其实p ... -
2014.04.17(一指通面试)
2014-04-17 23:06 01.自我介绍 2.最近做的项目 3.什么是struts 4.什 ... -
原型设计工具、uml常用建模工具
2014-04-14 22:41 0常用原型设计:Word、Visio(拓扑图、系统总体架构图)、 ... -
2014-04-15(广州中大凯旋信息科技有限公司)
2014-04-14 20:01 0中软:public等几个范围的区别和用法,考视图,管理表查询 ... -
Java 堆和栈的理解、程序的执行过程
2014-03-05 15:37 0程序执行的过程 程序从硬盘载入的内存->有四个内存区供程 ... -
java基础之基本数据类型
2014-02-28 10:50 0java基本数据类型就8种 ... -
java 对文件夹下指定后缀名的读写操作(运用递归的案例)
2014-07-21 22:00 1263package test; import java.io.B ... -
单例模式懒汉模式线程安全问题解决方法
2014-02-17 16:22 1360饿汉式会有效率的问题,即加载类时就会创建那个静态对象,会占据一 ...
相关推荐
本文主要介绍几种常见的Spring AOP配置方式,并通过具体的示例来说明每种配置的特点。 #### 二、AOP配置所需基本元素 配置AOP时需要以下三个基本元素: 1. **Advice**:这是实际执行的代码,即我们所说的“切面”...
- **容器(1对1关联)**:此处可能指的是Spring IoC容器与AOP配置的一对一关联。 - **PointcutAdvisor(切点通知器)**:一个组合了Pointcut和Advice的接口,用于将切点和通知结合在一起。 - **...
4. **配置AOP**:在Spring配置文件中启用AOP支持,并将切面类注册为bean。 通过以上步骤,我们可以灵活地在不修改目标代码的情况下,为应用程序添加额外的功能,提高代码的可维护性和可重用性。Spring AOP注解的...
`QQ五笔截图未命名.jpg`可能是开发者在编写或调试代码时的辅助说明图片,例如展示了AOP配置或者运行结果。 要创建一个Spring AOP的例子,我们首先需要定义一个切面类,它可能包含一个或多个通知方法。然后,我们...
总结,这个"SpringAOP简单项目实现"涵盖了Spring AOP的基础知识,包括切面、通知、切入点的定义与配置,以及如何在实际项目中使用Maven进行构建和依赖管理。对于初学者来说,这是一个很好的实践案例,能够帮助他们...
在提供的压缩包文件中,"www.pudn.com.txt"可能是下载来源的说明或者包含一些额外的信息,而"springAop"可能是一个包含Spring AOP示例代码的文件。对于学习和理解Spring AOP以及CGLIB的用法,分析这个文件的内容将...
在实际使用Spring AOP时,你需要在项目中引入这些库,并配置Spring容器来识别和处理切面。这通常涉及以下步骤: 1. **编写切面(Aspect)**:切面是包含通知(Advice)的类,通知定义了在特定连接点(Join Point)...
最后,对于提供的文件列表,readme.docx 可能包含了关于这个主题的详细说明或指南,而 Eqqq.zip 可能包含了示例代码或项目配置,用于展示如何将 SSH2 登录与 Spring AOP 结合使用。如果你需要进一步的帮助,可以查看...
在Spring框架中,AOP(面向切面编程)是一种强大的工具,它允许程序员定义横切关注点,如日志、事务管理、权限控制等,...理解这些组件的作用并正确配置它们,对于有效地利用Spring AOP实现代码解耦和模块化至关重要。
根据提供的文件内容,可以提取出以下知识点: ...文档中提到的实践示例,例如前置通知、后置通知、返回通知、异常通知和环绕通知的具体编码实现,都是通过具体的代码示例来说明如何在Spring中应用AspectJ进行AOP编程。
- 使用`org.springframework.aop.framework.ProxyFactory`等接口来手动配置和创建包含通知的代理。 8. **动态代理**: - Spring AOP支持自动动态代理,根据需要创建代理实例。 9. **TargetSource替换**: - ...
### Spring之AOP介绍 #### 一、AOP概述 面向方面编程(Aspect-Oriented Programming,简称AOP)作为一种编程范式,旨在通过模块化的方式处理横切关注点(Cross-cutting Concerns)。传统的面向对象编程(OOP)虽然...
我们可以创建一个`SleepHelper`类作为通知,实现`MethodBeforeAdvice`和`AfterReturningAdvice`接口,然后在Spring配置文件中定义切点和通知,并使用`ProxyFactoryBean`生成代理对象,使得每次调用`sleep`方法时,`...
适用人群: 针对资深Java开发者、熟悉Spring AOP的专业人士,以及企业中从事Java后端开发的工作人员。也欢迎对AOP实战用法感兴趣的同学们加入。 使用场景及目标: 在生产环境中,通过巧妙的AOP机制,实现对日志的...
基于AspectJ注解的AOP配置是Spring 2.5引入的新特性,它使得AOP的使用更加简洁直观。AspectJ提供了丰富的注解,如`@Aspect`定义切面,`@Before`、`@After`、`@Around`定义前置通知、后置通知和环绕通知,`@Pointcut`...
在Spring框架中,AOP(面向切面编程)是一种强大的工具,它允许我们在代码的关键点插入额外的行为,比如日志记录。本项目是关于如何利用Spring AOP来实现日志功能的一个实例。以下是对相关知识点的详细说明: 1. **...
在Spring框架中,IOC(Inversion of Control,控制反转)和AOP(Aspect-Oriented Programming,面向切面编程)是两个核心的概念,它们极大地提高了软件开发的灵活性和可维护性。 **IOC(控制反转)**是Spring的核心...
下面我们将通过一个简单的例子来说明Spring AOP的使用: ```java // 定义切面类 @Aspect public class LoggingAspect { @Before("execution(* com.example.service.*.*(..))") public void logBefore(JoinPoint ...
在Spring1.2或之前的版本中,实现AOP的传统方式就是通过实现Spring的AOP API来定义Advice,并设置代理对象。Spring根据Adivce加入到业务流程的时机的不同,提供了四种不同的Advice:Before Advice、After Advice、...
赠送jar包:spring-aop-5.1.3.RELEASE.jar; 赠送原API文档:spring-aop-5.1.3.RELEASE-javadoc.jar; 赠送源代码:spring-aop-5.1.3.RELEASE-sources.jar; 赠送Maven依赖信息文件:spring-aop-5.1.3.RELEASE.pom;...